Я использую paramiko для выполнения некоторых команд по ssh. Я заметил, что парамико занимает 2-3 секунды, чтобы открыть соединение, а клиент командной строки ssh почти мгновен.Почему парамико подключается медленнее, чем клиент openssh?
Используя некоторые отпечатки, я обнаружил, что точкой крепления является Transport.auth_publickey (используется открытая ~/.ssh/id_dsa). Это тот же метод проверки подлинности, который используется в командной строке ssh, поэтому почему paramiko может работать медленнее?
код я использую для подключения довольно просто:
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('myhostname', **{'username': 'root'})
Кажется, что paramiko написан на чистом питоне. Если этот шаг является вычислительно интенсивным, он может быть в 50 раз медленнее, чем эквивалентная функция C. – ascobol