Debian
跳過 dput/sftp 中的主機密鑰驗證
我想使用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
然後你應該能夠毫無問題地連接。