简单粗暴的解决办法是将目标计算机/etc/ssh/sshd_config
中的 MaxAuthTries
调大:
# 编辑
vim /etc/ssh/sshd_config
# 填入
MaxAuthTries=30
# 重启
## ubuntu
service sshd restart
## centos
systemctl restart sshd.service
如果有时间的话继续听我啰嗦...
这两天做的实验很消耗硬件资源,恰逢暑期,实验室资源充足,接管了4台服务器(用密钥登陆),两台毕业生的电脑(用密码登陆)。也不确定为啥,不提供密钥登陆的两台电脑用ssh登陆时总是提示这个错误
(base) era@era-3630-linux:~/workspace/test/PU-GCN$ ssh era@192.168.3.6
Received disconnect from 192.168.3.6 port 22:2: Too many authentication failures
Disconnected from 192.168.3.6 port 22
这里高分的回答分析的很全面了, 就是说本机192.168.3.3
远程访问192.168.3.6
会去试每个用ssh-add
添加的或者存储在.ssh
下的密钥,结果试了5次(可是我就4个呐🤨)都不对,192.168.3.6
就不让试了!
大致有几种解决办法。
-
第一种比较正规,在登陆的时候应该指定你的密钥,又有两种情况
- 直接用ssh登陆的话,使用
-i
参数加你的密钥 - 在
/home/USER/.ssh/config
中以下面的方式永久存储认证信息
host short IdentityFile /home/USER/.ssh/id_rsa User someuser HostName really-long-domain.example.com
- 直接用ssh登陆的话,使用
-
第二种、不要试密钥了,我要用密码登陆
ssh -o PubkeyAuthentication=no root@host
-
第三种,让目标机器允许我多试几次,就是上面那个简单粗暴的方法了。
网友评论