如何让用户能够使用 ssh 密钥而不是密码登录?

18 users password login ssh authentication

我想创建一个用户并且没有密码。就像您无法使用密码登录一样。我想使用 root 将密钥添加到其 authorized_keys。这是我的自动备份系统。

gui*_*ido 26

使用passwd -d显然是错误的,至少在 Fedora 上,在任何基于 shadow-utils 的 linux 发行版上。如果您使用 删除密码passwd -d,则意味着任何人都可以登录该用户(在控制台或图形上),无需密码。

为了阻止使用密码身份验证的登录,请运行,它会锁定帐户,使其仅对 root 用户可用。锁定是通过将​​加密密码呈现为无效字符串来执行的(通过在加密字符串前加上 !)。passwd -l username

任何本地或远程登录尝试都将导致“密码不正确”,而公钥登录仍然有效。然后可以使用 解锁该帐户。passwd -u username

如果您想完全锁定一个帐户而不删除它,请在最后一个字段中编辑/etc/passwd和设置/sbin/nologin/bin/false。前者将导致“此帐户当前不可用”。对于任何登录尝试。

请参考passwd(1)手册页。