Получите «Ошибка аутентификации» как можно скорее (с помощью модуля «parallel-ssh» или «paramiko»)
Я хочу разработать инструмент для определения слабых паролей SSH. Когда я пытаюсь войти в систему на SSH-хосте, я хочу получить результат (успех или неудачу) как можно скорее.
Когда я использую правильное имя пользователя и пароль (root / 123456), время ответа составляет около 10 мс:
import paramiko
import time
.......
start = time.time()
try:
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(
ip='192.168.1.100',
port=22,
username='root',
password='123456'
)
except (paramiko.AuthenticationException, paramiko.SSHException, Exception, socket.error) as e:
print(e)
finally:
client.close()
print(time.time() - start)
.......
Но когда я пытаюсь ввести неправильные имена пользователей и пароли (root / r00t, admin / admin, root / root1, ...), он будет использовать около 2 секунд для ответа на AuthenticationError. Это слишком медленно.
Может ли кто-нибудь сказать мне, как решить эту проблему: если имя пользователя или пароль неверны, как я могу немедленно получить ответ об ошибке и попробовать следующую комбинацию имени пользователя и пароля.
Большое спасибо.