2017-06-02 98 views
0

在我的Linux服務器I運行命令:主機密鑰驗證失敗與sshpass rsync的

sshpass -p 'password' rsync -avz /source/folder/ [email protected]:/dest/folder 

當我不sshpass它會爲我提供主機和密碼的真實性提示運行命令。

我需要一些等同於「-o StrictHostKeyChecking = no」(我用於ssh),這將允許我運行這個沒有提示或錯誤。

我從Google上看到的一切都是關於ssh拋出錯誤而不是rsync。

回答

0

我在cyberciti處發現了以下命令。這使我能夠做到我所需要的。

$ rsync --rsh="sshpass -p myPassword ssh -o StrictHostKeyChecking=no -l username" server.example.com:/var/www/html/ /backup/

+1

這是非常不好的做法,跳過阻止你,你和你的服務器,竊取密碼之間獲得惡意攻擊者唯一的檢查,聽取不管你轉移並可能修改它。 – Jakuje

+1

我不在乎這一點。我的服務器和它的整個網絡都被封閉在一個安全的房間裏。 – khm

1

如果你要連接到新的服務器,其公鑰是尚未在您~/.ssh/knonwn_hosts,你不應該跳過這唯一的安全檢查,而是手動存儲在known_hosts服務器主機密鑰,驗證它是正確的,然後使自動檢查工作。

最簡單的方式來獲得填入服務器主機密鑰的已知主機使用

ssh-keyscan server-ip >> ~/.ssh/known_hosts 

之後,你不應該需要使用StrictHostKeyChecking=no解決方法。

0

這是不輸出錯誤的權利,命令:

sshpass -p "yourpassword" rsync -rvz -e 'ssh -o StrictHostKeyChecking=no -p 22' --progress [email protected]:/backup/origin /backup/destination/ 
相關問題