Пропуск проверки ключа хоста в dput/sftp

Пропуск проверки ключа хоста в dput/sftp

Я хотел бы использоватьdputдля загрузки пакета на launchpad PPA через sftp. После подготовки данных все работает отлично, пока

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

Печатание yesпомогает, но сделать это с помощью cronjob невозможно.

Как пропустить проверку ключа хоста в dput?

решение1

dput-ngиспользует python-paramiko, который не использует OpenSSH (поэтому ~/.ssh/configизменения не отражаются — также не стоит забывать о подсказках отключить строгую проверку ключа хоста, когда это ваш единственный способ убедиться, что вы подключаетесь к тому хосту, к которому, как вы думаете, подключаетесь). Но он используетИзвестные хосты OpenSSHstore, поэтому вы сможете загрузить ключи хоста сервера с помощью 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

После этого вы сможете подключиться без каких-либо проблем.

решение2

В Current dput-ngесть метод, secure_sftpкоторый использует opensshвместо paramiko.

Он не документирован, помечен как экспериментальный и не работает с python < 3.2, но у меня работает.

Связанный контент