Есть ли способ использовать Paramiko, чтобы подключиться к sharefile.com как SFTP?Подключиться к неявным SSL/TLS (порт 990) с помощью Paramiko?
Например, используя этот подход, я могу подключиться к SFTP (тот, который я создал себя в Linux):
from paramiko import SSHConfig, SSHClient, AutoAddPolicy, AuthenticationException
def connect(self):
for rec in self:
with closing(SSHClient()) as ssh:
ssh.set_missing_host_key_policy(AutoAddPolicy())
try:
login = rec.login_id
ssh.connect(login.host, port=login.port, username=login.user, password=login.passwd)
except socket.gaierror:
raise ValidationError(_("Name or service '%s' not known") % (login.host))
except AuthenticationException:
raise Warning(_("Bad username or password"))
with closing(ssh.open_sftp()) as sftp:
#do something
Но если я пытаюсь подключиться с помощью входа информации для fileshare.com, он не работает , В fileshare.com он говорит, что вы можете подключить двумя способами:
Безопасность: Стандартный (порт 21) или неявных SSL/TLS (порт 990)
FTP Server: company.sharefileftp.com
имя пользователя: имя пользователя или username_id
Пароль: (пароль ShareFile)
Так что если я пытаюсь подключиться через порт 990, я буду получать либо соединения истекло из (через некоторое время), или эта ошибка:
File "/usr/lib/python2.7/dist-packages/paramiko/client.py", line 306, in connect
t.start_client()
File "/usr/lib/python2.7/dist-packages/paramiko/transport.py", line 465, in start_client
raise e
SSHException: Error reading SSH protocol banner
Единственный способ, которым я был в состоянии подключиться к нему, был использованием Ubuntu построен в GUI для подключения так FTP, используя:
ftp//:[email protected]
Если бы я использовал sftp
, он бы не связывал (я предполагаю, что он использует порт 22 по умолчанию)
Я также попытался подключиться из терминала:
ftp [email protected]
Name or service not known
sftp -oPort=990 [email protected]
ssh_exchange_identification: Connection closed by remote host
Couldn't read packet: Connection reset by peer
Спасибо, тогда я попытаюсь использовать эту библиотеку вместо этого. – Andrius