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アクセスのみを許可したい場合)。rexec
rcp
.rhosts
hosts.equiv
rsh
ssh
.shosts
shosts.equiv
答え3
キーは、ssh-keyscanを使用したり、不明なホストに接続したりすると、Known_hostsに自動的に追加されます。この操作を手動で実行するには、次のコマンドを使用できます。
ssh-keyscan hostname >> ~/.ssh/known_hosts