我已经配置了使用键登录到ssh,并且运行良好。问题是,当我用密钥和包含的密码连接到服务器时,当我输入错误的密码时,我没有看到任何失败的登录尝试。使用密匙进行的登录尝试没有失败:
/var/log/audit/audit.log或
/var/log/secure换句话说,我可以在没有任何动作的情况下输入密码,直到我死。您是否知道如何使用带密码的密钥将失败的登录调度记录到ssh?
操作系统是:红帽企业Linux服务器第7.3版(Maipo)
提前谢谢你。
当我多次输入错误的密码时,这是来自服务器的日志:
Connection from my_ip port 51115 on server_ip port 22
sshd[3639]: Found matching RSA key: 00:12:23 ...
sshd[3639]: Postponed publickey for some_user from ip_address port 51115 ssh2 [preauth]发布于 2017-04-20 13:06:55
听起来,您已经将客户端密钥配置为在连接到服务器之前需要密码才能打开密钥。您的服务器不会记录它,因为这发生在客户端计算机上。
发布于 2017-04-20 17:04:27
基本上,保护SSH密钥的密码完全是客户端的事情。考虑一下,即使是ssh-keygen,也允许您在不连接任何服务器(ssh-keygen -p -f id_rsa)的情况下更改密码。当然,这需要知道旧的密码,但您可以(尝试)猜测它,而不暗示您正在做的服务器。
也就是说,当连接到服务器时,SSH客户端在请求密码以解密密钥之前向服务器提供它拥有的任何密钥。您将注意到,如果连接到不接受密钥的主机,就不会询问密码。
$ ssh -v -v somehost
...
debug1: Offering RSA public key: /...
debug2: we sent a publickey packet, wait for reply
debug1: Server accepts key: pkalg ssh-rsa blen 407
debug2: input_userauth_pk_ok: fp blah
debug1: key_load_private_type: incorrect passphrase supplied to decrypt private key
Enter passphrase for key '/...':从技术上讲,您可以修改服务器以检测提供密钥的客户端,但不会对其进行身份验证。但这不会有帮助,因为任何攻击者都可以先尝试解密密钥,然后再试图进行身份验证。同样,即使使用通常的实用程序,这也是可能的:这是您在运行ssh-agent时所做的。
如果密钥不足以满足您的需要,当前版本的OpenSSH允许服务器同时需要密钥和密码。文档给出的示例首先需要密钥,然后是密码(使用“密码”或“键盘交互”身份验证):
AuthenticationMethods publickey,password publickey,keyboard-interactivehttps://unix.stackexchange.com/questions/360188
复制相似问题