Недавно я разрабатывал сценарий грубого принуждения S SH в Python для школьного проекта. Со временем я прошел через множество улучшений. Мой сценарий хорошо работает с двумя отдельными файлами для имен пользователей и паролей, содержащих не более 50 записей в каждом.
Проблема заключается в том, что, когда речь идет о правильной комбинации пользователя и пароля, это приводит к ошибкам. Ошибка:
Exception: Error reading SSH protocol banner[WinError 10054] An existing connection was forcibly closed by the remote host
И дополнительная информация состоит в том, что только что-то в paramiko/transport.py
и paramiko/packet.py
не идет хорошо. Я попытался замедлить рукопожатие и все типы задержек, не касаясь библиотек, и мой метод подключения SSHclient выглядит следующим образом:
sshConnection.connect(self.targetIp,
port=self.portNumber,
username=self.username,
password=self.password,
timeout=0.2,
allow_agent=False,
look_for_keys=False,
banner_timeout=500,
auth_timeout=2)