複数のリモートサーバーがあり、SSHを介してそのサーバーにアクセスできるようにしたいとします。~/.ssh/config
同様の問題で
Host ManyHosts-*
IdentityFile /home/pseyfert/.ssh/id_for_ManyHosts
AddKeysToAgent yes
PasswordAuthentication yes
PubkeyAuthentication yes
PreferredAuthentications publickey,keyboard-interactive,password
したがって、SSHエージェントが(まだ)実行されていて、ssh-add
すでに私の公開鍵を持つホストに接続している場合は、次の手順を実行します。
- 走る
ssh ManyHosts-001
- 私の鍵のパスワードを尋ねた。
- 接続済み
ManyHosts-001
- すでに私の公開鍵を持つホストへの後続の接続では、SSHエージェントにはすでに鍵があるため、パスワードステップはスキップされます。
これは
- 走る
ssh ManyHosts-001
- パスワードプロンプトに注意してください
- 勝つ
^C
- 走る
ssh-add ~/.ssh/id_for_ManyHosts
- パスワードを入力
- 走る
ssh ManyHosts-001
私の公開鍵を持たないホストに接続するとき、通常、ワークフローは次のようになります。
- 走る
ssh ManyHosts-099
- パスワードプロンプトに注意してください
- 勝つ
^C
- 走る
ssh-copy-id ManyHosts-099
- パスワードを入力
ssh ManyHosts-099
接続するには実行してください。
ssh-copy-id
次の使用パターンを持つ自動化されたプログラムがあるかどうか疑問に思います。
- 走る
ssh ManyHosts-099
- 公開鍵は使用できません。パスワードプロンプトを受け取ります。
- パスワードを入力
- 接続が確立され、公開鍵がホストにコピーされ、ホストにシェルプロンプトが表示されます。