ssh-copy-id しかしその逆

ssh-copy-id しかしその逆

ssh-copy-idリモートシステムのユーザー名/パスワードがある場合は、公開SSHキーを他のシステムの認証キーに入れる方法を理解してください。

その逆はどのように可能ですか?一部のリモートシステムの公開鍵(公開であるためパスワードは不要)を取得し、それを自分の認証キー(再度、私のものであるためパスワードは不要)に入れます。

答え1

ssh ${remote_host} cat .ssh/id_rsa.pub | tee -a $HOME/.ssh/authorized_keys

答え2

2種類のSSHキーを混同しています。構造は似ていますが、用途はかなり異なります。

公開鍵を呼び出すことができます。ユーザーキー: それでも人々つまり、秘密にする必要はありません。出版する何らかの方法で自動的に。 Webページにアップロードしたい場合は、確かにそうすることができます。しかし、自分で行う必要があります。

一方、各マシンのキーは次のとおりです。ホストキー。ログイン時に自動的に交換されますのでご検討ください。出版する。ただし、ホストキーはauthorized_keysファイルに入らずにファイルに入りますknown_hosts。特定のマシンのホストキーを持っているからといって、誰にもどのようなアクセスも提供されるわけではありません。 SSHクライアントが接続するときにマシンが以前と同じであることを確認するだけです。

システム管理者がそれを有効にすることを選択し、リモートホストのホストキーがシステム全体のファイルにある場合は、HostbasedAuthenticationリモート/etc/ssh/sshd_configホスト/etc/ssh/ssh_known_hostsの名前を追加または/etc/hosts.equiv許可/etc/ssh/shosts.equivできます。みんなパスワードを入力せずに、そのリモートホストからローカルホストにそのアカウントでログインします。システム管理者がこれを設定した場合、IgnoreRhosts通常のnoユーザーとして同様に、特定のリモートホスト上の特定のユーザーがパスワードなしでローカルホストのアカウントにアクセスできるようにすることができます。リモートホストのホストキーをユーザー~/.ssh/known_hosts名@ホスト名に入力します。ただし、この認証方法はデフォルトで無効になっています~/.rhosts~/.shosts

~/.shosts(そのような2つのファイルがあると思うのはなぜですか~/.rhosts?まあ、.rhostsファイルは暗号化されていない古い// /rshツールrloginで使用されており、SSHはもともとそれを置き換えるように設計されていたためです。)したい場合、またはSSHアクセスのみを許可したい場合)。rexecrcp.rhostshosts.equivrshssh.shostsshosts.equiv

答え3

キーは、ssh-keyscanを使用したり、不明なホストに接続したりすると、Known_hostsに自動的に追加されます。この操作を手動で実行するには、次のコマンドを使用できます。

ssh-keyscan hostname >> ~/.ssh/known_hosts

関連情報