Saltarse la verificación de la clave de host en dput/sftp

Saltarse la verificación de la clave de host en dput/sftp

me gustaría usardputpara cargar un paquete en un PPA de plataforma de lanzamiento a través de sftp. Después de preparar los datos, todo funciona bien hasta

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

Escribir yesfunciona, pero es imposible hacerlo como cronjob.

¿Cómo omitir la verificación de la clave de host en dput?

Respuesta1

dput-ngestá usando python-paramiko, que no usa OpenSSH (por lo tanto, los ~/.ssh/configcambios no se reflejan; fuera de discusión también están las sugerencias para deshabilitar la verificación estricta de la clave del host cuando es su única forma de verificar que se está conectando al host que cree). Pero está usando elHosts conocidos de OpenSSHstore, por lo que debería poder descargar las claves del host del servidor usando ssh-keyscan,verificarlos manualmente, guárdalos en esta tienda y luego conéctate sin ningún problema:

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

y pegue la línea en el ~/.ssh/known_hosts. Atajo:

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

Entonces deberías poder conectarte sin ningún problema.

Respuesta2

Current dput-ngtiene un método llamado secure_sftpque usa opensshen lugar de paramiko.

No está documentado, está marcado como experimental y no funciona python < 3.2, pero a mí me funciona.

información relacionada