回答:
試してください:
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
公開されています。