SSH接続は、ホストに依然として承認が必要であることを知っています。

SSH接続は、ホストに依然として承認が必要であることを知っています。

duplyセキュア接続を使用してバックアップサーバーを設定しようとしています。

~/.ssh/config次の内容でファイルを作成しました。

Host backup
  IdentityFile ~/.ssh/id_ed25519_backup
  Hostname <server_ip>
  Port 22
  User <user_on_host>

known_hostsまた、サーバー公開鍵(次の場所にあります)をコピーして貼り付けて/etc/ssh/ssh_host_ed25519_key.pubファイルを定義しました。

次のコマンドを使用すると、すべてがうまく機能しているようですssh -v backup

Authenticated to <server_ip> ([<server_ip>]:22)

しかし、duplyバックアップルーチンの起動時にサーバーが認識されないことがわかりました。

The authenticity of host '[<server_ip>]:22' can't be established.
SSH-ED25519 key fingerprint is c3:06:95:f8:5f:d3:76:7f:c6:9d:19:ef:e5:23:9a:14.
Are you sure you want to continue connecting (yes/no)? 

なぜこれが起こるのですか?


修正する

duply公開鍵のMD5ハッシュの計算中にSHA256が計算されているようですssh。実際に前述したようにここssh-keygen -l -E md5 -f /etc/ssh/ssh_host_ed25519_key.pub上記と同じ16進数を返します。同じキーの2つの異なるハッシュですが、なぜ接続確認を要求するのですか? SSHが単一のハッシュアルゴリズムのみを使用するように強制できますか?

追加アップデート:

ssh -o FingerprintHash=md5 -v backup確認が不要なので問題がduplyknown_hosts

ベストアンサー1

duplyParamiko Pythonモジュールに基づいて構築し、その実装をさらに調査した結果、Paramikoはハッシュされた既知のホストを管理できないようです。その後、/etc/ssh/ssh_config設定でSSH設定ファイルを変更し、HashKnownHosts no明示的なターゲットIPおよび/またはドメインを挿入してコンテンツをオーバーライドしました。~/.ssh/known_hosts

おすすめ記事