[原创] ssh连接Linux服务器时提示"Too many authentication failures"的解决办法

如果你用 用户名+密码 的方式第一次ssh连接一台Linux服务器,连不上并且报以下错误:
Received disconnect from xxx.xxx.xxx.xxx port 22:2: Too many authentication failures
Disconnected from xxx.xxx.xxx.xxx port 22
如果你确定不是因为你输入了太多次错误密码,那么产生这个问题的一个可能原因是:
在发起连接的机器(记为A)的 ~/.ssh 目录下放了太多密钥文件,当你连接一台新的服务器并且没有在 ~/.ssh/config 文件中做过特殊的配置时,默认会挨个尝试所有密钥文件,而这些密钥文件,都不是适配那台新服务器的,所以会连接失败。

解决这个问题的办法有两种:
(1)仍然要使用 用户名+密码 的方式登录目标服务器,加“PubkeyAuthentication=no”参数来指定不使用密钥文件

ssh -o PubkeyAuthentication=no root@192.168.15.16

(2)配置使用密钥文件、无密码登录目标服务器
* 使用另一台机器先登录上目标服务器,按这篇文章的做法,把它配置成可以无密码登录服务器。
* 在A机器上,编辑 ~/.ssh/config 文件,添加如下配置:

Hostname xxx.xxx.xxx.xxx
User your_user_name
Port 22
IdentitiesOnly=yes
IdentityFile ~/.ssh/id_rsa_xxx
其中,xxx.xxx.xxx.xxx 是目标服务器的IP地址,your_user_name 是登录目标服务器的用户名,id_rsa_xxx 是用于无密码登录目标服务器的密钥文件。
文章来源:https://www.codelast.com/
配置好之后,再连接目标服务器就不再出错了。

➤➤ 版权声明 ➤➤ 
转载需注明出处:codelast.com 
感谢关注我的微信公众号(微信扫一扫):

wechat qrcode of codelast

发表评论