Überspringen der Hostschlüsselüberprüfung in dput/sftp

Überspringen der Hostschlüsselüberprüfung in dput/sftp

Ich möchte verwendendputum ein Paket per SFTP auf ein Launchpad-PPA hochzuladen. Nach der Vorbereitung der Daten funktioniert alles einwandfrei, bis

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

Durch Eintippen yesklappt das, aber als Cronjob ist das nicht möglich.

Wie überspringe ich die Hostkey-Verifizierung in dput?

Antwort1

dput-ngverwendet python-paramiko, das nicht OpenSSH verwendet (daher ~/.ssh/configwerden die Änderungen nicht berücksichtigt -- ausgeschlossen sind auch die Hinweise, die strikte Hostschlüsselprüfung zu deaktivieren, wenn dies Ihre einzige Möglichkeit ist, zu überprüfen, ob Sie sich mit dem Host verbinden, mit dem Sie es meinen). Aber es verwendet dasBekannte OpenSSH-Hostsspeichern, so dass Sie die Server-Host-Schlüssel mit ssh-keyscan herunterladen können,Überprüfen Sie sie manuell, in diesen Store speichern und dann problemlos verbinden:

$ 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==

und fügen Sie die Zeile in die ein ~/.ssh/known_hosts. Verknüpfung:

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

Anschließend sollte die Verbindung problemlos hergestellt werden können.

Antwort2

Aktuell dput-nggibt es eine Methode namens , die anstelle von secure_sftpverwendet .opensshparamiko

Es ist nicht dokumentiert, als experimentell gekennzeichnet und funktioniert nicht mit python < 3.2, aber bei mir funktioniert es.

verwandte Informationen