Мне нужно подключиться к серверу с SSH для загрузки файлов. У меня Ubuntu, и я настроил SSH стандартным способом: у меня есть файл ssh_config
в .ssh
, который определяет запись хоста (скажем, host_key
) для адреса сервера (Hostname.com
) и имени пользователя, и Я настроил ключ RSA. Поэтому, когда я пытаюсь войти в SSH из командной строки или bash, мне просто нужно использовать ssh host_key
Я бы хотел сделать это на Python. Стандартные решения, похоже, заключаются в использовании Paramiko для настройки соединения. Я попробовал это:
from paramiko import SSHClient
from scp import SCPClient
ssh = SSHClient()
ssh.load_system_host_keys()
ssh.connect('host_key')
scp = SCPClient(ssh.get_transport())
# etc...
Однако, кажется, что оно всегда зависает и время ожидания на ssh.connect('host_key')
. Даже когда я пытаюсь включить имя пользователя и пароль: ssh.connect('host_key', username='usrnm', password='pswd')
.
Правильно ли загружаются ключи хоста? И будет ли это заботиться о ключах RSA?
Это работает, только если я использую весь Hostname.com
с именем пользователя и напечатанным паролем. Что может быть немного небезопасно.