サーバーAからサーバーBのknown_hostsファイルに公開鍵をコピーしようとしています。これらは両方ともLinuxサーバーです。最初は、公開鍵ファイルを開いて、その内容をknown_hostsファイルにコピーすることを考えていましたが、それは正しい方法ではないと思います。誰かがそうするための正しい方法を知っていますか?
公開鍵の形式はssh-rsa AADGD...
誰か助けてもらえますか?
ありがとう!
私は SuperUser で数日前にほぼ同様の回答をしました。重要な部分:
ssh-keyscan
書式を作成できますそれ以外の場合は、キーにサーバーIPアドレスをプレフィックスするだけで(カンマの後にホスト名を追加することもできます)、行末からコメントを削除すれば問題ありません。フォーマットは次のようになります。
11.22.33.44 ssh-rsa AADGD...
もう1つ注意してください。HashKnownHosts yes
(DebianとUbuntuはそうです)、再ハッシュする必要がありますknown_hosts
といった:
ssh-keygen -Hf ~/.ssh/known_hosts
この問題にぶつかりましたが、ここに私がどのようにアプローチしたかを示します。
時間が経つにつれて、ファイルを機械的にコピーします
ssh-keyscan server-name >> ~/.ssh/known_hosts
.ssh/known_hostsに重複したエントリがありました。
他の手動の方法では、.ssh
ディレクトリがまだ存在していなかったなど。
私はssh
で処理することにしました:
ssh -o StrictHostKeyChecking=no server-name ls
-o StrictHostKeyChecking=no
オプションは自動的に「はい」と答えます
The authenticity of Host 'server-name (12.345.678.900)' can't be established.
RSA key fingerprint is XXXXXXX.
Are you sure you want to continue connecting (yes/no)?
メッセージ(知らないマシンにランダムに接続することに関するすべてのセキュリティ警告をここに挿入してください)。
ls
コマンドは、実行時にSSHを強制的に切断するfluffコマンドです。任意の綿毛コマンドに変更できます。
sshが.ssh
dir(必要な場合)、キーのコピーを1つだけ追加するなど。
プラットフォーム:macOS 10.14