Ignorando a verificação da chave do host em dput/sftp

Ignorando a verificação da chave do host em dput/sftp

eu gostaria de usardputpara fazer upload de um pacote para um PPA da barra de lançamento via sftp. Depois de preparar os dados, tudo funciona bem até

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

Digitar yesresolve, mas é impossível fazer como um cronjob.

Como pular a verificação da chave do host no dput?

Responder1

dput-ngestá usando python-paramiko, que não está usando o OpenSSH (portanto, as ~/.ssh/configalterações não são refletidas - fora de questão também estão as dicas para desativar a verificação estrita da chave do host quando for sua única maneira de verificar se você está se conectando ao host que você pensa). Mas é usar oHosts conhecidos do OpenSSHstore, então você poderá baixar as chaves do host do servidor usando ssh-keyscan,verificá-los manualmente, armazene-os nesta loja e conecte-se sem problemas:

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

e cole a linha no arquivo ~/.ssh/known_hosts. Atalho:

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

Então você deverá conseguir se conectar sem problemas.

Responder2

Current dput-ngtem um método chamado secure_sftpque usa opensshem vez de paramiko.

Não está documentado, está marcado como experimental e não funciona python < 3.2, mas funciona para mim.

informação relacionada