设置基于SSH密钥的身份验证后,建议禁用SSH密码身份验证.
这是通过导航到/etc/ssh/sshd_config
并确保没有注释掉以下行来完成的:
PasswordAuthentication no
一些教程,例如。
还建议设置
UsePAM no
在这样做之后,我注意到我不再从主机获得会话通知。例如,当我想关闭/重新启动它时,终端挂起,我就不再得到:
Connection to 192.168.0.3 closed by remote host.
Connection to 192.168.0.3 closed.
我在这里上读到过,人们应该“可能想要保持这种状态”。此外,它可能会帮助你变得更安全。
UsePAM no
对安全性的贡献有多精确?UsePAM
,我还可以获得会话状态吗?发布于 2021-03-15 12:11:47
我把注释复制到默认的信托文件中。
将此设置为“是”,以启用PAM身份验证、帐户处理和会话处理。如果启用这一功能,则将允许通过ChallengeResponseAuthentication和PasswordAuthentication进行PAM身份验证。根据您的PAM配置,PAM通过ChallengeResponseAuthentication的身份验证可能绕过“无密码的PermitRootLogin”的设置。如果您只想让PAM帐户和会话检查在没有PAM身份验证的情况下运行,那么就启用它,但是将PasswordAuthentication和ChallengeResponseAuthentication设置为'no‘。
由于这些原因,我只禁用PasswordAuthentication和ChallengeResponseAuthentication,让pam被设置为处理帐户和会话人员,我复制了这些模块类型的含义。
此模块类型执行基于非身份验证的帐户管理。它通常用于限制/允许基于一天中的时间、当前可用的系统资源(最大用户数)或申请者用户的位置--“root”登录在控制台上的服务访问。会话--此模块类型与在用户获得服务之前/之后需要做的事情相关联。这些内容包括记录与用户之间的某些数据交换的打开/关闭信息、挂载目录等。
您可以在etc/panam.confetc/amam.d/*中检查pamd配置文件,然后再检查模块做什么。此外,连接终止消息似乎与pam配置无关.它是由sshd专门在client环.c函数client_loop中发送的
/*
* In interactive mode (with pseudo tty) display a message indicating
* that the connection has been closed.
*/
if (have_pty && options.log_level != SYSLOG_LEVEL_QUIET) {
if ((r = sshbuf_putf(stderr_buffer,
"Connection to %.64s closed.\r\n", host)) != 0)
fatal("%s: buffer error: %s", __func__, ssh_err(r));
}
在我的例子中,不管UsePAM的值如何,它都会打印该消息。
https://askubuntu.com/questions/1259848
复制相似问题