Traceback (most recent call last): File "test.py", line 6, in <module> ssh.connect('127.0.0.1') File "build/bdist.macosx-10.7-intel/egg/paramiko/client.py", line 316, in connect File "build/bdist.macosx-10.7-intel/egg/paramiko/client.py", line 85, in missing_host_key paramiko.SSHException: Unknown server 127.0.0.1
Это происходит независимо от того, какой сервер я использую.
Переведено автоматически
Ответ 1
Я столкнулся с такой же проблемой, и вот решение, которое сработало для меня:
Это делается для настройки политики, используемой при подключении к серверу, у которого нет ключа хоста ни в системных, ни в локальных объектах HostKeys. Политика по умолчанию - отклонять все неизвестные серверы (используя RejectPolicy). Вы можете заменить AutoAddPolicy или написать свой собственный класс политики.
Или загрузите уже кэшированный hostkey (например, с помощью командной строки OpenSSH ssh) с помощью client.load_system_host_keys().
Или вы можете, по крайней мере, кэшировать hostkey с первой попытки, чтобы убедиться, что он не изменится в будущем.
Для этого используйте SSHClient.load_host_keys ранее connect. Это заставляет Paramiko автоматически добавлять новый ключ хоста в файл (в сочетании с AutoAddPolicy).
Ответ 3
Исключение было вызвано из-за отсутствия ключа хоста, подсказкой является довольно загадочное "Неизвестный сервер" - поскольку исключение было вызвано из missing_host_key
Попробуйте это вместо:
import paramiko
paramiko.util.log_to_file('ssh.log') # sets up logging
Я столкнулся с этой проблемой и хотел опубликовать решение здесь. Проблема действительно заключалась в том, что ssh-сервер отправлял ключи ecdsa, которые не поддерживаются (пока) paramiko. В моей системе debian Wheezy я отключил ecdsa, закомментировав одну строку в /etc/ ssh /sshd_config:
# HostKey /etc/ssh/ssh_host_ecdsa_key
Перезапустил sshd, и он вернулся к использованию RSA. В моем файле known_hosts было несколько ключей ecdsa, поэтому я просто удалил его для сброса и вошел в систему вручную, чтобы воссоздать ключи заново. С этого момента paramiko отлично работал, как и ожидалось, с проверкой ключа хоста RSA.