SSH連接時提示“THE AUTHENTICITY OF HOST XX CAN’T BE ESTABLISHED


年初時寫了個系統備份的腳本,主要使用rsync工具見(rsync遠程同步備份數據(ssh方式)),但前陣子我做備份系統恢復演習時才發現,我的rsync已經很久都沒有sync成功了。我本來是採用密鑰交換的方式來完成ssh中的驗證,但可能由於主機的Key有變化,每次ssh連接(或rsync)時就會有提示:The authenticity of host *** can’t be established ,需要輸出一個“yes”的交互。
對於這個提示,我的腳本中一開始沒有預知,所以沒有做判斷和處理(用expect也是容易處理的),所以我決定去掉這樣的提示(關於宿主機的檢查)。
1. 使用ssh連接遠程主機時加上“-o StrictHostKeyChecking=no”的選項,如下:

2. 一個徹底去掉這個提示的方法是,修改/etc/ssh/ssh_config文件(或$HOME/.ssh/config)中的配置,添加如下兩行配置:

修改好配置後,重新啓動sshd服務即可,命令爲:/etc/init.d/sshd restart (或 service sshd restart )
當然,這是內網中非常信任的服務器之間的ssh連接,所以不考慮安全問題,就直接去掉了主機密鑰(host key)的檢查。

ssh中遇到的“Host key verification failed.”問題,也是和“StrictHostKeyChecking”配置有關,很久前就總結過了,見:
ssh中“Host key verification failed.”的解決方案

另外,不需要用戶名和密碼,而是使用ssh key驗證實現Linux系統間的ssh免登陸,可以參考我曾經的博文:
ssh配置及實現ssh免登陸Linux

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章