У меня есть текущий код для загрузки с 4 разных FTP-серверов, он работает на моей локальной машине, но на сервере ftp4 не подключается. странно, что я могу без проблем подключиться к ftp 4 через Filezila на сервере. Вот код:
HOST_LIST = [["10.10.10.04", "user", "pasword"]] #ftp4
self.cnopts = pysftp.CnOpts()
self.cnopts.hostkeys = None
def get_r_portable(self, sftp, remotedir, localdir, preserve_mtime=False):
for entry in sftp.listdir(remotedir):
remotepath = remotedir + "/" + entry
localpath = os.path.join(localdir, entry)
mode = sftp.stat(remotepath).st_mode
if S_ISREG(mode):
if self.PATHFILTER.strip() != "":
if str(remotepath).lower().find(self.PATHFILTER.lower()) > -1:
sftp.get(remotepath, localpath, preserve_mtime=preserve_mtime)
for host in self.HOST_LIST:
with pysftp.Connection(host[0], username=host[1], password=host[2], cnopts=self.cnopts) as sftp:
try:
for dirs in self.FOL_LIST:
currdir = REMOTEFOLDER + dirs + ""
try:
self.get_r_portable(sftp, currdir, self.LOCALFOLDER, True)
except Exception as e:
self.logger.error("Exception in dir exploration" + str(e))
except Exception as e:
print('error')
ошибка, которую я получаю для ftp4:
[ 2020-03-08 15:05:03,574 ] [ ][ WARNING ] Please note that this utility does not use hostkeys to verify the hosts. If this is insecure for your setup, then kindly update the code or submit a feature request.
\pysftp-0.2.9-py3.7.egg\pysftp\__init__.py:61: UserWarning: Failed to load HostKeys from \.ssh\known_hosts.
You will need to explicitly load HostKeys (cnopts.hostkeys.load(filename)) or disableHostKey checking (cnopts.hostkeys = None).
[ 2020-03-08 15:05:03,577 ] [ ][ INFO ] Attempting connection to 10.10.10.04
Трассировка (последний последний вызов):
Файл "main.py", строка 183, в файле downloader.run (), файл "main.py", строка 107, выполняется с помощью pysftp.Connection (host [0], username = host [1], password = host [2],> cnopts = self.cnopts) как sftp: File "pysftp-0.2.9-py3.7.egg \" pysftp__init__.py ", строка 140, в> init Файл" pysftp-0.2.9-py3.7.egg \ py enter code here
sftp__init __. py ",> строка 176, в файле _start_transport" Python37- 32 \ lib \ site-packages \ paramiko \ transport.py ", строка 416,> в init " Невозможно подключиться к формату {}: {} ". (Имя хоста, причина) paramiko.ssh_exception.SSHException : Невозможно подключиться к 10.10.10.04: [WinError 10060] Попытка подключения не удалась, потому что подключенная> сторона не ответила должным образом через определенный промежуток времени, или установилось> подключение не удалось, потому что подключенному хосту не удалось ответить
- FTP-сервер на сервере:
- Статус: подключение к 10.10.10.04:21...
Статус: подключение установлено, ожидание приветственное сообщение ...
Статус: инициализация TLS ...
Статус: проверка сертификата ...
Статус: установлено соединение TLS.
Статус: зарегистрирован
Статус: получение списка каталогов. ..
Статус: Список каталогов "/" успешно