我有一个通过 SSH 连接的 Debian 盒子。我已root
按照说明删除了用户和我的个人帐户的密码这里,并设置公钥/私钥对,以便我可以登录,但前提是我有私钥。
我最近运行是cat /etc/passwd
为了查看系统上其他用户的位置,并得到了一个公平的列表。那么,我如何确定每个用户的密码状态,以便如果我将盒子公开给更广泛的世界(仅通过 ssh),就没有其他用户可以用来进行身份验证?
答案1
也许你应该看看 sshd 配置。
有一个选项可以拒绝密码验证:
PasswordAuthentication no
您可以创建允许通过 ssh 连接的用户列表:
AllowUsers cgoddard
答案2
您返回的用户的“公平列表”可能只是系统用户,即为拥有某些服务而创建的用户(例如,将 apache 作为单独的用户运行有助于限制它在发疯或被破坏时可能对其他人造成的损害) 。他们可能有不可能的密码(例如,在 Fedora 18 中,我在/etc/shadow
条目中bin:*:15209:0:99999:7:::
,因为*
不是任何密码的哈希值,所以无法以用户身份登录bin
;请注意,/etc/shadow
出于安全原因,只能由 root 读取)。