Scp

使用 scp 時主機密鑰驗證失敗

  • July 19, 2017

當我scp在 VM1 和 VM2 之間使用時,沒有問題,因為其他原因我刪除了 VM2,並通過 VMware 工作站重建它,當我使用 scp 將文件從 VM1 複製到新的 VM2 時,出現了問題:

# scp /home/iso/********.iso root@192.168.1.***:/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 

提到的警告是遠端主機的指紋自您第一次登錄以來已更改。警告狀態也是 known_hosts 中的違規記錄。 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, domain.foo1.2.3.4則應刪除所有條目並通過執行您嘗試使用的命令(例如ssh/sftp等)手動輸入它們。

您還可以添加來自遠端主機的密鑰,ssh-keyscan這將為您提供指紋並將它們儲存到known_hosts. 但是指紋邏輯是您應該在將遙控器添加到之前驗證遙控器known_host

引用自:https://unix.stackexchange.com/questions/379495