SFTP-соединение в Python с использованием открытого ключа RSA-SSH 256 - PullRequest
0 голосов
/ 07 ноября 2019

Я пытаюсь войти на сайт SFTP, чтобы получить некоторые данные. Я видел код, который ссылается на отпечаток пальца в формате MD5 (пример - 52:14:a4:33:71:0a:b9:46:25:73:a0:96:94:b3:3b:03), но ключ, который мне нужно отправить, находится в другом формате (я думаю, SSH-256). Когда я генерирую скрипт из WinSCP для отображения информации для входа в систему вместе с отпечатком RSA, я получаю следующее:

sftp://login:password;fingerprint=ssh-rsa-ZnGWcuKoRO0Kv4uDjkdhOLHlnz9PSYfx04oGp9sE3d3=@ftp.address.com/

Я изменил фактический ключ, поэтому он просто вымышленный в посте.

Может кто-нибудь помочь с пакетом / кодом Python, который мне понадобится для отпечатков пальцев этого типа?

1 Ответ

0 голосов
/ 08 ноября 2019

Ваш вопрос довольно неясен. Я не понимаю, почему вы хотите использовать информацию из WinSCP для вашего кода Python.

Но если вы настаиваете: существует вопрос о проверке ключа хоста в pysftp / Paramiko с использованием отпечатка пальца MD5:

(я полагаю, это вопрос, который вы упоминаете в своем сообщении)

В реализации AutoAddPolicy из моего ответа на этот вопрос вы можете заменить key.get_fingerprint() на sha256(key.asbytes()).digest(), чтобы получить отпечаток SHA-256 вместо MD5. Вам нужно будет импортировать sha56 из hashlib module .


Но я считаю, что вам следует просто следовать стандартной проверке ключа хоста Paramiko / pysftp, как, например, показано в:

...