Получите «Ошибка аутентификации» как можно скорее (с помощью модуля «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. Это слишком медленно.

Может ли кто-нибудь сказать мне, как решить эту проблему: если имя пользователя или пароль неверны, как я могу немедленно получить ответ об ошибке и попробовать следующую комбинацию имени пользователя и пароля.

Большое спасибо.

0 ответов

Другие вопросы по тегам