公開鍵がリモートで利用できない場合、自動的にssh-copy-idを実行する

公開鍵がリモートで利用できない場合、自動的にssh-copy-idを実行する

複数のリモートサーバーがあり、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
  • 公開鍵は使用できません。パスワードプロンプトを受け取ります。
  • パスワードを入力
  • 接続が確立され、公開鍵がホストにコピーされ、ホストにシェルプロンプトが表示されます。

関連情報