Debian

跳過 dput/sftp 中的主機密鑰驗證

  • December 16, 2019

我想使用dput通過 sftp 將包上傳到啟動板 PPA。準備好數據後,一切正常,直到

please login: To accept ssh-rsa hostkey 6b03de9833252318a646b34722cd54f2 for ppa.launchpad.net type "yes": [yes, no]:

打字yes可以解決問題,但作為 cronjob 是不可能的。

如何跳過 dput 中的主機密鑰驗證?

dput-ng正在使用python-paramiko,它沒有使用 OpenSSH (因此~/.ssh/config沒有反映更改 - 當它是驗證您連接到您認為的主機的唯一方法時,禁用嚴格主機密鑰檢查的提示也是不可能的)。但它使用的是OpenSSH 已知主機儲存,因此您應該能夠使用 ssh-keyscan 下載伺服器主機密鑰,手動驗證它們,將它們儲存到此儲存中,然後毫無問題地連接:

$ ssh-keyscan ppa.launchpad.net
# ppa.launchpad.net:22 SSH-2.0-Twisted
ppa.launchpad.net ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA0aKz5UTUndYgIGG7dQBV+HaeuEZJ2xPHo2DS2iSKvUL4xNMSAY4UguNW+pX56nAQmZKIZZ8MaEvSj6zMEDiq6HFfn5JcTlM80UwlnyKe8B8p7Nk06PPQLrnmQt5fh0HmEcZx+JU9TZsfCHPnX7MNz4ELfZE6cFsclClrKim3BHUIGq//t93DllB+h4O9LHjEUsQ1Sr63irDLSutkLJD6RXchjROXkNirlcNVHH/jwLWR5RcYilNX7S5bIkK8NlWPjsn/8Ua5O7I9/YoE97PpO6i73DTGLh5H9JN/SITwCKBkgSDWUt61uPK3Y11Gty7o2lWsBjhBUm2Y38CBsoGmBw==

並將該行粘貼到~/.ssh/known_hosts. 捷徑:

$ ssh-keyscan ppa.launchpad.net >> ~/.ssh/known_hosts

然後你應該能夠毫無問題地連接。

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