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