因此,这台计算机可以通过端口 22(从任何地方)访问。
由于指示登录尝试失败的消息(如 root、cgi、bash、生产...等用户名)已经泛滥 /var/log/auth.log,我已禁用来自外部 IP 的密码身份验证(仅使用公钥身份验证)。
这有效,当尝试从外部 IP(无密钥)SSH 进入该机器时,我什至没有得到用户名提示:
权限被拒绝(公钥)。
那么所有这些假用户名是如何最终出现在 auth.log 中的呢?
1 Aug 4 17:02:48 host sshd[17190]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=217.116.204.99 user=root 2 Aug 4 17:02:48 host sshd[17190]: pam_winbind(sshd:auth): getting password (0x00000388) 3 Aug 4 17:02:48 host sshd[17190]: pam_winbind(sshd:auth): pam_get_item returned a password 4 Aug 4 17:02:48 host sshd[17190]: pam_winbind(sshd:auth): request wbcLogonUser failed: WBC_ERR_AUTH_ERROR, PAM error:
PAM_USER_UNKNOWN (10), NTSTATUS: NT_STATUS_NO_SUCH_USER, Error mess 4 age is: No such user
5 Aug 4 17:02:50 host sshd[17190]: 来自 217.116.204.99 端口 40054 ssh2 的 root 密码失败
8 月 4 日 17:02: 50 主机 sshd[17190]:收到与 217.116.204.99 的断开连接:11:再见 [preauth]
...
513322 Apr 7 19:45:40 主机 sshd[15986]:input_userauth_request:无效用户 cgi [preauth]
...
虽然您不输入用户名,但如果您从 linux/osx/bsd 工作站连接,则用户名是隐式的(默认为您登录时使用的用户名),如果您有 windows 并使用 putty,请尝试连接而不设置自动登录用户名,并出示一个密钥,它会要求一个用户名来尝试匹配对。
密钥仅替换密码,每个密钥都与一个用户(以及用户名)相关联,这就是为什么您会
authorized_keys
在~/.ssh/
.您可能看到的是攻击者在做类似的事情
ssh bash@<your.server.ip>
。服务器看到一个用户名,但由于他们没有提供密钥,他们被拒绝访问。