如果UNIX用户通过SSH访问服务器,并且我们只希望允许公开密钥登录,那么是否还有其他需要添加到这个列表中的项,我应该关注这些项呢?
pubkey login
文件中允许sshd_config
。发布于 2015-01-05 14:56:21
不管用户希望它是什么,考虑到密码复杂性的任何策略。如果唯一的访问是通过SSH,而PasswordAuthentication
是no
in sshd_config
,那么密码是什么并不重要。还请注意,shadow
中的条目是加密的密码,因此!
和*
的值不是密码,而是不是有效加密值的字符串,从而阻止了基于密码的登录。
发布于 2015-03-02 15:41:06
是的,这是可能的,但是有机会通过在/etc/passwd
中运行一个新的密码文件来更改密码。如果不是,尝试可能更有效的方法是不那么稳定地使用sshd_config
,但是我不会推荐它,除非您现在正在做什么。
发布于 2015-03-02 19:47:15
假设您运行的是类似于RHEL/CentOS w/ OpenSSH的程序,我通常会在没有密码的情况下这样做:
PubkeyAuthentication yes, PasswordAuthentication no, ChallengeResponseAuthentication no, UsePAM no
)chpasswd -e 'pubkey!!' <username>
)chage -M -1 <username>
)%wheel ALL=(ALL) NOPASSWD: ALL
)。useradd -p 'pubkey!!' -K MAX_PASS_DAYS=-1 <username>
)在锁定密码访问之前,请确保您能够通过公共密钥成功地进行身份验证。确保您的/home分区不在网络挂载上(或其他可能不总是可用的东西)。没有什么事情比无法访问您的服务器更糟糕了,因为它无法访问您的公共密钥。如果系统是无头的,请确保您有一些方法可以在紧急情况下快速获得直接控制台访问(KVM、虚拟控制台、急救车等)。
尽管如此,我会考虑在拥有完全sudo访问权限的任何人的帐户上设置一个密码,并配置sudoers以要求他们提供密码。如果所有其他内容都按照上面的方式配置,它们仍然无法使用这个密码登录到服务器,但是它将为您提供一些额外的保护,防止有人坐在他们的命令提示符下做“不好的事情(Tm)”。
https://unix.stackexchange.com/questions/177543
复制相似问题