San*_*rsu 11 server ssh networking
设置基于 SSH 密钥的认证后,建议禁用 SSH 密码认证。
这是通过导航到/etc/ssh/sshd_config并确保以下行未被注释掉来完成的:
PasswordAuthentication no
Run Code Online (Sandbox Code Playgroud)
一些教程,例如
也推荐设置
UsePAM no
Run Code Online (Sandbox Code Playgroud)
这样做之后,我注意到我不再收到来自主机的会话通知。例如,当我想关闭/重新启动它时,终端挂起,我不再得到:
Connection to 192.168.0.3 closed by remote host.
Connection to 192.168.0.3 closed.
Run Code Online (Sandbox Code Playgroud)
我在这里读到,人们应该“可能想要继续下去”。此外,它实际上可以帮助您变得更安全。
问题:
UsePAM no对安全性的贡献究竟有多大?UsePAM吗?我复制了默认配置文件中的注释
将此设置为“yes”以启用 PAM 身份验证、帐户处理和会话处理。如果启用此功能,将允许通过 ChallengeResponseAuthentication 和 PasswordAuthentication 进行 PAM 身份验证。根据您的 PAM 配置,通过 ChallengeResponseAuthentication 进行的 PAM 身份验证可能会绕过“PermitRootLogin without-password”的设置。如果您只想在没有 PAM 身份验证的情况下运行 PAM 帐户和会话检查,请启用此功能,但将 PasswordAuthentication 和 ChallengeResponseAuthentication 设置为“no”。
由于这些原因,仅禁用 PasswordAuthentication 和 ChallengeResponseAuthentication 让 pam 设置为处理帐户和会话人员我复制了这些模块类型的用途
帐户
此模块类型执行基于非身份验证的帐户管理。它通常用于根据一天中的时间、当前可用的系统资源(最大用户数)或申请用户的位置(仅在控制台上“root”登录)来限制/允许对服务的访问。
会议
此模块类型与在向用户提供服务之前/之后需要为用户完成的事情相关联。这些事情包括记录有关与用户打开/关闭某些数据交换、安装目录等的信息。
您可以检查 etc/pam.conf etc/pam.d/* 中的 pamd 配置文件,并仔细检查模块的功能。此外,连接终止消息似乎与 pam 配置无关...它是由 sshd 专门在 clientloop.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));
}
Run Code Online (Sandbox Code Playgroud)
就我而言,无论 UsePAM 的值如何,它都会打印该消息。
| 归档时间: |
|
| 查看次数: |
2424 次 |
| 最近记录: |