我希望ssh命令只允许一次输入密码,如果第一次输入密码错误,ssh将返回
Permission denied (publickey......).
是否有一个标志告诉ssh仅请求一次密码?
代替:
[nir@dhcppc4 ~]$ ssh pokemon@192.168.1.103
pokemon@192.168.1.103's password:
Permission denied, please try again.
pokemon@192.168.1.103's password:
Permission denied, please try again.
pokemon@192.168.1.103's password:
Permission denied (publickey.....).
我想要:
[nir@dhcppc4 ~]$ ssh pokemon@192.168.1.103
pokemon@192.168.1.103's password:
Permission denied (publickey.....).
解决方案必须在客户端(例如ssh命令的某些标志或使用管道),我无法触摸sshd_config
或任何其他系统配置文件。因为-通常-我构建了访问LAN中服务器的第三方软件(因此我无法生成密钥或配置系统文件),所以密码保存在DB中(因此无需再次尝试)。并且在我的代码中,如果我能够假设自己只有一次尝试ssh
/ scp
将简化相关代码。
1
如答案所示,您可以对此进行修改,但是为什么要这样做呢?人们经常输入错字,默认设置是允许这种脆弱性。一个更好的问题可能是“我怎么锁定发生故障的用户ñ登录尝试?” 特别是如果您要防止恶意登录。
—
msw
我的原因是复杂而漫长的。我可以说的是,如果密码第一次不正确-下次它将继续不正确。
—
2013年
我可以看到这甚至是一个问题的唯一方法是,如果你正在做密码身份验证非交互,在你使用做任何工具的情况下是应该要么设施一个失败的密码后,中止或者,如果不,那么该实用程序应成为此问题的主题。
—
Sammitch 2013年
我还注意到ssh注意到对公钥auth的尝试失败,您是否考虑过复制公钥并完全避免这种情况?
—
Sammitch 2013年