Pergunta
Preciso baixar um arquivo de um host usando SFTP.
Você sabe se é possível fazer isso usando o python ftplib? Eu vi um exemplo aqui, mas quando tento me conectar, recebo EOFError
.
Eu tentei este código:
import ftplib
ftp = ftplib.FTP()
ftp.connect( "1.2.3.4", "22" )
Este método retorna com um erro depois de muito tempo, para que eu não possa executar uma chamada para fazer login. Não posso experimentar o construtor FTP([host[, user[, passwd[, acct[, timeout]]]]])
Porque minha porta tem 22, mas ftplib
O padrão é 21.
Se eu seguir o exemplo
ftp = ftplib.FTP("1.2.3.4")
ftp = ftplib.FTP("1.2.3.4","22")
Recebo uma conexão recusada para que não possa inserir nenhuma senha de nome de usuário. Pode me ajudar? Muito obrigado
Solução
Como a pergunta que você vinculou Estados, o FTPLIB não suporta SFTP (que é FTP sobre SSH e não tem nada a ver com FTPS, FTP sobre SSL). Use o recomendado Paramiko em vez de.