scp を使用すると、ホストキーの検証が失敗します。

scp を使用すると、ホストキーの検証が失敗します。

VM1とVM2の間を使用するときはscp問題はありませんでした。別の理由でVM2を削除し、VMwareワークステーションを介して再構築しました。 scpを使用してVM1から新しいVM2にファイルをコピーするときに問題がありました。

# scp /home/iso/********.iso [email protected].***:/home/  

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  
@    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  
df:33:37:b6:7b:c9:e5:19:65:f7:38:ad:94:b2:9e:36.  
Please contact your system administrator.  
Add correct host key in /root/.ssh/known_hosts to get rid of this message.  
Offending ECDSA key in /root/.ssh/known_hosts:1  
ECDSA host key for 192.168.1.*** has changed and you have requested strict checking.  
Host key verification failed.  
lost connection 

答え1

上記の注意点は、最初のログイン後にリモートホストの指紋が変更されたことです。警告は、既知のホストの違反も識別します。 Offending ECDSA key in /root/.ssh/known_hosts:1これは、Known_hostの最初の行に問題があることを示します。

ssh-keygen -R 192.168.1.xxx実行または使用して削除できます。vi +1 /root/.ssh/known_hosts

指紋は、指紋内に存在する/etc/ssh/キーをハッシュすることによって生成されます。最初の接続で受け入れた後、ログインknown_host中に追加され評価されます。

編集1

たとえば、ターゲットサーバーに複数のエンティティがある場合は、domainそのエンティティをすべて削除し、使用したいコマンド(/ etcなど)を実行して手動で入力する必要がありますdomain.foo1.2.3.4sshsftp

ssh-keyscan指紋を提供し、保存するリモートホストのキーを追加することもできますknown_hosts。ただし、指紋ロジックは、リモートホストを追加する前に確認する必要があることです。known_host

答え2

VM2を再構築したため、VM1のキーは最新のVMとは異なります。

削除する必要があります/root/.ssh/known_hosts


編集する

Hunterが提案したように、Known_hostsファイルを開き、関連キーを見つけてその行を削除できます。

答え3

新しいオペレーティングシステムがインストールされるたびに、新しいSSHサーバーもインストールされます。 SSHサーバーがインストールされた後、新しいランダムキーが生成されます。

SSHクライアントは、正しいサーバーに接続されていることを確認するためにそのキーのフィンガープリントを確認するように要求するか、またはKnown_hostsというファイルの既存のエントリと比較します。

一般的な状況(再インストールしない)では、盗聴しようとしている人がサーバーアドレスを偽造しましたが、鍵は偽造されていないため、大きな警告が表示されます(これは不可能です)。

サーバーが再インストールされたことを確認したら、次のコマンドを使用してKnown_hostsファイルを削除できます。

rm $HOME/.ssh/known_hosts

その後、接続が成功する前に新しいキーを確認するように求められます。

関連情報