Paramiko: проверка и постоянное добавление ключа хоста SSH - PullRequest
1 голос
/ 01 марта 2011

С Paramiko можно настроить обратный вызов ключа SSH следующим образом:

def someCallbackFunction(client, hostname, key):
    ...

client = SSHClient()

client.load_system_host_keys()
client.set_missing_host_key_policy(someCallbackFunction) # <--
client.connect(...)

Обратный вызов получает экземпляр клиента SSH, имя хоста и экземпляр paramiko.RSAKey в качестве параметрови должен вернуть, если ключ принят, или вызвать исключение в противном случае.

Как проверить ключ SSH с предоставленными параметрами?Например, как я могу получить отпечаток RSA, чтобы пользователь мог сравнить его?И можно ли позволить Paramiko навсегда добавить ключ к "known_hosts"?

1 Ответ

0 голосов
/ 09 марта 2011

Я не смог найти способ записи в (открытый) SSH-файл known_hosts, но, поскольку есть разные варианты (как в исходном коде PuTTY), я просто оставлю это и запишу принятые хосты в конфигурацию моей собственной программы.

Что касается отпечатка пальца, я обнаружил, что Paramiko уже обеспечивает это: PKey.get_fingerprint. Чтобы получить удобочитаемый отпечаток пальца, просто примените binascii.hexlify.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...