リモートホスト識別警告シミュレーション

リモートホスト識別警告シミュレーション

警告をシミュレートする必要があります。

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!  @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!

2 台の Linux システムがあり、sshLinux1 から Linux2 に移動すると、ssh問題は許可されずに報告されます。

しかし、いくつかのテストのためにモックしたいと思います。アイデンティティ変更エラー

それでは、問題を生成するためにリモートサーバーで何を編集する必要がありますか?

今まで何をしたのかはい、両方のシステムでknpwn_hostsを変更しましたが、問題は発生しません。

わかりました:

 key_read: uudecode AAAAB3NzaC1y3jrzG62xyHrb3qxc9eYpg1Cp1PrRElTFfYbEHsRfTZU21S8kO5/Tq+ED8=
 failed
 key_read: uudecode AAAAB3NzaC1y3jrzG62xyHrb3qxc9eYpg1Cp1PrRElTFfYbEHsRfTZU21S8kO5/Tq+ED8=
 failed
 The authenticity of host 'ste1 (10.106.164.111)' can't be established.
 RSA key fingerprint is 84:82:2b:80:ca:3f:57:c7:8c:14:44:dd:b9:70:e5:d8.
 Are you sure you want to continue connecting (yes/no)? 

答え1

~/.ssh/known_hostsホストの無効なIPアドレスがリストされるようにホストエントリを交換/変更します。

から:

192.168.0.10 ecdsa-sha2-nistp256 AAAAE2...kFr3pqkY=
192.168.0.20 ecdsa-sha2-nistp256 AAAAE2...A82zdls0=

到着する:

192.168.0.20 ecdsa-sha2-nistp256 AAAAE2...kFr3pqkY=
192.168.0.10 ecdsa-sha2-nistp256 AAAAE2...A82zdls0=

(IPアドレスが変わりました)

これにより、以下が提供されます。

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is

クライアントから提供されたキーがサーバーのキーとペアになっているがIPアドレスが異なる場合は、この警告が表示されます。次に、あなたが中間者攻撃の対象であると仮定し、警告を発行します。

答え2

1 つの方法は、ファイル内のエントリを確認するときにknown_hosts一致しないエントリを確認し、そのメッセージを表示するようにリモートサーバーのキーを変更することです。

リモートサーバーでホストキーを再生成するには、次のコマンドを使用します。

ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N '' -t rsa
ssh-keygen -f /etc/ssh/ssh_host_dsa_key -N '' -t dsa
ssh-keygen -f /etc/ssh/ssh_host_ecdsa_key -N '' -t ecdsa -b 521

その後、SSH サーバーを再起動します。

クライアントでファイルを編集known_hostsして他のサーバーのエントリを含めることもできますが、メッセージを受信したいリモートサーバーのホスト名も含めることができます。

答え3

おそらく最も簡単な方法は、別のホストからキーをコピーすることです。

known_hostsたとえば、次のようなファイルがある場合

192.168.1.1 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgwCrkL8HEVk8VP3r...
192.168.1.2 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubiN81eDcafrgMeL...

エラーを表示するには、ホストキーを192.168.1.2コピーするだけです。これで、次のようになります。192.168.1.1known_hosts

192.168.1.1 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgwCrkL8HEVk8VP3r...
192.168.1.2 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgwCrkL8HEVk8VP3r...

答え4

できることは、サーバーキーを再生成することです(元に戻す必要がある場合は、以前のキーをバックアップした後)。

ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key 

編集:@jjlinの答えは確かにあまり邪魔ではありません。

関連情報