Как исправить ошибку «SSH Too Many Authentication Failures»

Иногда, пытаясь подключиться к удаленным системам через SSH, вы можете столкнуться с ошибкой «Received disconnect from x.x.x.x port 22:2: Too many authentication failures».

В этой короткой статье я объясню, как исправить эту ошибку за несколько простых шагов.

Ниже приведен снимок экрана об ошибке, с которой я столкнулся, при использовании ssh-клиента.

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

Это поведение по умолчанию для службы ssh.

Поскольку ssh-сервер (sshd) на удаленном сервере ожидает определенного идентификационного ключа, сервер отклоняет соединение, а клиент ssh прерывает работу с  указанной выше ошибкой.

Чтобы исправить эту ошибку, вам нужно добавить IdentitiesOnly со значением yes, которое инструктирует ssh использовать только файлы идентификации, указанные в командной строке, или настроенные в файлах ssh_config, даже если ssh-agent предлагает дополнительные данные.

Например:

$ ssh -o IdentitiesOnly=yes vps2

Кроме того, если вы хотите, чтобы это работало для всех подключений клиента ssh, вы можете настроить этот момент в файле ~/.ssh/config.

$ vim ~/.ssh/config

Добавьте следующую конфигурацию в файл в разделе Host *, как показано в скриншоте:

Host * 
       	IdentitiesOnly=yes

Сохраните изменения в файле и выйдите из него.

Теперь вы можете запустить ssh без указания опции -o IdentitiesOnly = yes в командной строке, как показано далее

$ ssh vps2

Для получения дополнительной информации см. Справочную страницу ssh-config.

$ man ssh-config

См. также:

cryptoparty

Cryptography is typically bypassed, not penetrated.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

5e7fa976b0640d40