在几个系统上我有这个 sshd_config
Port 22
Protocol 2
PermitRootLogin no
StrictModes yes
PasswordAuthentication no
ChallengeResponseAuthentication no
MaxStartups 2
AllowUsers john joe
Run Code Online (Sandbox Code Playgroud)
谁能解释键盘交互和密码身份验证之间的区别?我如何测试我的 sshd 服务器的这些功能?
这些系统可通过互联网使用 SSH(防火墙端口转发)进行访问。尽管关闭了密码身份验证,我仍然看到无效用户的系统日志记录和无效密码被 sshd 拒绝 - 显然一些僵尸网络正在尝试暴力猜测密码。
如果我在没有设置公钥的情况下尝试通过 ssh 登录,那么在我有机会输入用户名之前,我的会话就会关闭,并显示一条消息“权限被拒绝(公钥)”。所以我不明白这些密码尝试是如何发生的。
以下是 syslog 中的示例(所有行都以“Oct 12 08:40:49 host sshd[14790]:”为前缀)
Could not reverse map address 203.0.113.1.
User root not allowed because not listed in AllowUsers
input_userauth_request: illegal user root
Failed password for illegal user root from 203.0.113.1 port 35902 ssh2
Received disconnect from 203.0.113.1: 11: Bye Bye
Run Code Online (Sandbox Code Playgroud)
这些无效密码是如何通过的?服务器是否仍然容易受到暴力破解密码的攻击?