我想知道在哪里可以增加我尝试通过 ssh 登录时输入密码的次数?
我使用的是 CentOS 6.7,在收到此消息之前我只输入了 3 次密码:
权限被拒绝(publickey、gssapi-keyex、gssapi-with-mic、密码)。
我还更改了配置以/etc/ssh/sshd_config
将MaxAuthTries
属性增加到 6,但没有成功。
有什么建议么?
更新:查看日志文件(/var/log/secure)后我找到了原因。客户端默认配置为有3次然后断开连接。
这是日志:
Oct 28 10:24:44 DG1 unix_chkpwd[4407]: password check failed for user (root)
Oct 28 10:24:44 DG1 sshd[4404]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.100.8 user=root
Oct 28 10:24:46 DG1 sshd[4404]: Failed password for root from 192.168.100.8 port 45398 ssh2
Oct 28 10:24:47 DG1 unix_chkpwd[4409]: password check failed for user (root)
Oct 28 10:24:49 DG1 sshd[4404]: Failed password for root from 192.168.100.8 port 45398 ssh2
Oct 28 10:24:49 DG1 unix_chkpwd[4411]: password check failed for user (root)
Oct 28 10:24:51 DG1 sshd[4404]: Failed password for root from 192.168.100.8 port 45398 ssh2
Oct 28 10:24:51 DG1 sshd[4406]: Connection closed by 192.168.100.8
如您所见,连接已被客户端关闭。这意味着如果我们从客户端更改配置,那么我们可以有更多次输入密码,就像@Jan 所说的那样。
通过 MaxAuthTries 和 NumberOfPasswordPrompts 的结合,我们可以很好地了解我的问题。
非常感谢你们的帮助,伙计们。
答案1
从
人 5 sshd_config
最大授权尝试次数 指定每个连接允许的最大身份验证尝试次数。一旦失败次数达到该值的一半,就会记录更多失败。默认值为 6。
因此,如果您注释掉 MaxAuthTries 并重新启动 sshd,您应该有 6 次尝试。
答案2
要仅使用密码身份验证而不使用其他身份验证,请在命令行上设置相应的参数:
ssh -o PreferredAuthentications=password [email protected]
重试次数并不完全在服务器端配置。从man 5 ssh_config
:
密码提示数 指定放弃之前提示密码的次数。这 该关键字的参数必须是整数。默认值为 3。
在您的 上设置此选项ssh_config
,或在命令行上设置该选项:
ssh -o NumberOfPasswordPrompts=n user@hostname
答案3
MaxAuthTries 参数指定每个连接允许的最大身份验证尝试次数。一旦失败次数达到该值的一半,就会记录更多失败。该值应设置为 1。