Найти - Пользователи
Полная версия: Почему возвращается Server %r not found in known_hosts' % hostname при том что сервер доступен по telnet по ssh 22 порт?
Начало » Python для новичков » Почему возвращается Server %r not found in known_hosts' % hostname при том что сервер доступен по telnet по ssh 22 порт?
1
drno
Здравствуйте.

Пытаюсь, используя пакет 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 доступен (проверено
 telnet 192.168.0.27 22
).

Как решить эту проблему?
PooH
Это вы первый раз на этот хост заходите, его нет в списке known_hosts. Надо добавить перед подключением.
 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
Тогда парамико будет неизвестные хосты автоматом в известные добавлять. Тут, конечно, безопасность понижается. Так что если целевых хостов немного, проще зайти первый раз на каждый ручками.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB