drno-reg
@drno-reg
см не кратко

Почему возвращается Server %r not found in known_hosts' % hostname при том что сервер доступен по telnet по ssh 22 порт?

Здравствуйте.

Пытаюсь, используя пакет paramiko, создать на python 3.6.1 x64 клиента для Linux.

Запуская следующий код
import paramiko

ssh = paramiko.SSHClient()
HOSTNAME="192.168.0.27"
USERNAME="user1"
PASSWORD="pwd"
ssh.connect(HOSTNAME, username=USERNAME, password=PASSWORD)
ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command("ps ax | grep 'user1'")

получаю в ответ

C:\Python36\python.exe C:/Server/repositories/templates/Test/SSH.py
Traceback (most recent call last):
  File "C:/Server/repositories/templates/Test/SSH.py", line 37, in <module>
    ssh.connect(HOSTNAME, username=USERNAME, password=PASSWORD)
  File "C:\Python36\lib\site-packages\paramiko\client.py", line 362, in connect
    server_key)
  File "C:\Python36\lib\site-packages\paramiko\client.py", line 673, in missing_host_key
    raise SSHException('Server %r not found in known_hosts' % hostname)
paramiko.ssh_exception.SSHException: Server '192.168.0.27' not found in known_hosts


хотя SSH по порту 22 сервера 192.168.0.27 доступен.

Как решить эту проблему?
  • Вопрос задан
  • 476 просмотров
Пригласить эксперта
Ответы на вопрос 1
@res2001
Developer, ex-admin
Ключевая фраза: "not found in known_hosts". Т.е. не найден в списке известных хостов.
Ваш клиент получил ключ от сервера, но ключа нет в списке известных хостов.
Обычно интерактивные клиенты запрашивают в этом случае у пользователя, что-то типа "Неизвестный сервер, добавить его в список известных?". В вашем случае это делается как-то программно или настройками пакета. Курите мануал в этом направлении.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы