
小さなProxmoxクラスタがあります。だから私の/etc/sshd/ssh_known_hostsファイルは次のようになります
<host1> ssh-rsa <key1>
<host1ip> ssh-rsa <key1>
<host2> ssh-rsa <key2>
<host2ip> ssh-rsa <key2>
"ssh host1"を使用してこのサーバーにアクセスすると、すべてが正常です。
ただし、「ssh -vvv host1.fqdn.org」を使用して初めてアクセスすると、Known_hostsに新しいキーを追加するかどうかを尋ね、それを許可すると次のエラーが発生します(以降、実行ログ、ここでキーはKnown_hostsに追加されました)
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:<hash>
debug3: hostkeys_foreach: reading file "/root/.ssh/known_hosts"
debug3: record_hostkey: found key type ECDSA in file /root/.ssh/known_hosts:18
debug3: load_hostkeys: loaded 1 keys from host1.fdqn.org
debug3: hostkeys_foreach: reading file "/etc/ssh/ssh_known_hosts"
debug3: hostkeys_foreach: reading file "/root/.ssh/known_hosts"
debug3: hostkeys_foreach: reading file "/etc/ssh/ssh_known_hosts"
debug3: record_hostkey: found key type RSA in file /etc/ssh/ssh_known_hosts:2
debug3: load_hostkeys: loaded 1 keys from 192.168.37.20
debug1: Host 'host1.fdqn.org' is known and matches the ECDSA host key.
debug1: Found key in /root/.ssh/known_hosts:18
Warning: the ECDSA host key for 'host1.fqdn.ord' differs from the key for the IP address '192.168.xxx.xxx'
Offending key for IP in /etc/ssh/ssh_known_hosts:2
Matching host key in /root/.ssh/known_hosts:18
Are you sure you want to continue connecting (yes/no)? ^C
これは私には理解できません。 1つのサーバーだけがワンクリックで実行されます。とにかく、実際には「host1」と「host1.fqdn.org」が同じシステムなので、sshが同じIPを持っていることを確認できますか?
答え1
~/.ssh/config
クライアント()には次のオプションがあります。
CanonicalizeHostname
明示的なホスト名正規化が実行されるかどうかを制御します。 yesに設定すると、ssh(1)はCanonicalDomains
サフィックスとルールを使用してコマンドラインで指定されたホスト名を正規化しようとしますCanonicalizePermittedCNAMEs
。
CanonicalDomains
CanonicalizeHostnameが有効になっている場合、このオプションは指定されたターゲットホストを検索するドメインサフィックスのリストを指定します。
Warning: the ECDSA host key for 'host1.fqdn.org' differs from the key for the IP address '192.168.xxx.xxx'
これを受けたら変だと思います。ただ氏名でつながる場合。私が知っている限り、接続に使用されている名前に関係なく、保存されたIPキーを確認する必要があります。 IPで使用されているキーが変更された場合は、を使用して削除する必要がありますssh-keygen -R 192.168.xxx.xxx
。それ自体は明確ではありませんが、私が覚えている限り、そのIPを使用してホストに接続するたびに文句を言いました。
これは意図的であり、適切な権限を持つ人がIPアドレスを再利用しているのか、それとも怪しいことが発生したのかを知る方法はありません。