2012-05-26 5 views

答えて

175

次の操作を行うことができ、パスフレーズの入力を求められることなく、SSH鍵ペアを生成するには:

$ ssh-keygen -f id_rsa -t rsa -N '' 
+2

私のために働いた! Githubは、promptの後にパスワードを入力しなくても、-Nオプションを使わないでパスワードを要求していました。 – Hollerweger

+3

RHEL 6では、 "ssh-keygen:オプションに引数が必要です - N' ":( –

+1

これは私の前に' dzdo'コマンドを使っていたからです。 'dzdo -i -u target_user ssh-keygen -f id_rsa -t rsa -N" '' " –

15

は、WindowsでのPowerShellからこれを実行する必要がある場合に使用します。

ssh-keygen -f $Name -t rsa -N "''" 

注意:git binディレクトリがパスに含まれていることを確認する必要があります。

その後

それだけだPoshGitでそれを使用する:

Add-SshKey "<path>\.shh\KeyFilename" 
+0

これはありがとうございます。" git \ usr \ bin "が正しいディレクトリです – majkinetor

+1

これは私のためには機能しません"キー "mykey"の保存に失敗しました:パスフレーズが短すぎます(最小4文字) msgstr "" "ssh-keygen -f $ Name -t rsq -N '" "''などの二重引用符を切り替える必要がありました –

+0

@AaronJensenと同じです。 '' –

11

2に回答するだけで補正... 私は、ファイル名がないid.rsa id_rsaとする必要があります私のOLとRHELシステム上で見つけました。

だから、OLやRHELシステム上のコマンドは次のようになります。私はbashスクリプトではssh-keygenコマンドとにうまく機能し、最終的な答えを自動化するために必要な

$ ssh-keygen -f id_rsa -t rsa -N '' 
+2

私が理解している限り、 'id_rsa'はRSAキーのデフォルトファイル名ですので、デフォルトに固執したいのであれば、明示的に '-f'オプションを使用する必要はありません。 – danidemi

+3

@danidemiデフォルトである間に '-f'オプションを指定する理由の1つは、スクリプトでこれを実行できるようにするためです。その後のプロンプトを無効にするには、デフォルトを再確認することができます。 –

16
$ ssh-keygen -f $HOME/.ssh/id_rsa -t rsa -N '' 
0
$ printf '\n' | ssh-keygen -N '' 
0

me:

echo -e "\n" | ssh-keygen -N "" &> /dev/null 

-eを指定したechoコマンドは、 "\ n"をEnterキーとして解釈しますが、パスフレーズは使用できません。その後、オプション-N ""(空のパスフレーズ)を使用すると、パスワードは空になり、何も要求されません。 &>/dev/nullは 'stdout'と 'stderr'を/ dev/nullに送信し、ディスプレイには何も表示されません。

関連する問題