ssh 连接错误 Too many authentication failures 解决方法

290 阅读1分钟

ssh 连接错误 Too many authentication failures 解决方法

转载自

作者:陆崖 2
原文:www.jianshu.com/u/bf00c4257…

背景

有时候使用 ssh 登录 或者 git ssh 方式连接 时会遇到:Too many authentication failures

这个错误的原因是客户端尝试连接次数大于服务端限制的次数。

默认情况下: ssh 客户端会按照认证顺序:

1. 依次尝试 ssh-agent 中的秘钥和配对~/.ssh 的秘钥对

2. 如果都失败了会尝试密码登录

如果第一步尝试的秘钥已经超过了服务端的认证尝试次数就会报告Too many authentication failures

这里有两个解决方案。

  • 修改服务端最大尝试次数
  • 减少客户端自动尝试次数

修改服务端

1. 修改服务端最大尝试次数 (不推荐)

打开配置文件 /etc/ssh/sshd_config

修改  MaxAuthTries 6 为更大的值例如

MaxAuthTries 20

百度和谷歌这个错误一般都会让你这么干,但是不推荐这么干,会存在安全隐患 并且有时候服务端不在我们控制之下。

比如:第三方的 git 仓库服务器

修改客户端

2. 减少客户端自动尝试次数

多次尝试失败,一般是因为 ssh-agent 中缓存了多个 pem 证书。

有时候我们为了方便会使用 ssh-add 一次添加多个 pem 客户端并不能知道哪个 pem 属于哪个服务器。所以每一次连接都会顺序验证。

可以使用 ssh-add -D 清除所有缓存的 pem 。

需要秘钥认证的时候可以使用参数 ssh -i 你的秘钥 root@x.x.x.x

本文由mdnice多平台发布