回答:
試してください:
ssh-keygen -t rsa -N "" -f my.key
-N "" 空のパスフレーズを使用するように指示します(インタラクティブスクリプトの2つの入力と同じ)
-f my.keyキーを格納するように指示my.keyします(必要に応じて変更してください)。
Enterキーを入力する必要なく、すべてが実行されます。
入力をインタラクティブスクリプトに送信するには:
echo -e "\n\n\n" | ssh-keygen -t rsa
ssh-keygenドロップされたダッシュのように見えますが、正常に動作します-追加しましたか?{edited}また、スクリプトを複数回実行することはできません。既存の_rsaキーファイルを上書きするかどうかを確認するために質問が変更されます(yまたはnを指定する必要があります)
yes ""代わりに使用することをお勧めしますecho -e "\n\n\n"(yes出力される引数は何でも[デフォルトでは「y」)無限大–プログラムが要求する可能性のあるものすべてに「はい」の回答を提供したい場合に最適です)。yesは短く、ssh-keygen質問を追加する必要があります。質問も自動的に回答されます。:)
パスフレーズ付きのバージョンは次のとおりです。
$ ssh-keygen -t rsa -b 4096 -C "comment" -P "examplePassphrase" -f "desired pathAndName" -q
echo -e "\n"|ssh-keygen -t rsa -N ""
echo -eもの以外の何かを-e発行しssh-keygenます)。
ssh-keygen -N ''ようには必要ありません、プロシージャをインストールし、それがすべてでは標準入力読まない自動化の一環として、echo(任意の echo変種)がそれにパイプ。(確かに、私は、標準入力が接続されていると信じて/dev/null、それがTTYに添付だときだけでなくさまざまな動作があるかもしれませんが、より良い答えは私の生産ユースケースで</dev/nullはなくecho ... |)
$ ssh-keygen -t rsa -N '' Generating public/private rsa key pair. Enter file in which to save the key (/home/dlyons/.ssh/id_rsa):
セキュリティとパフォーマンスのためにed25519を使用することをお勧めします。
yes "y" | ssh-keygen -o -a 100 -t ed25519 -C "Bla Bla" -f /mypath/bla -N ""
ここに
-o 古いPEMの代わりにOpenSSHキー形式(OpenSSH 6.5以降が必要)
-a DH-GEX候補のスクリーニング中の素数テストの数
-t 鍵のタイプ(ed25519、RSA、DSAなど)
-f /mypath/bla 出力ファイルのパスと名前
-N "" 空のパスフェーズを使用
そして yes "y"相互作用がないため。
2つのファイルが生成されます
/mypath/bla
/mypath/bla.pub
どこblaのファイルには、プライベートで、bla.pub公開されています。