【发布时间】:2014-10-02 17:40:13
【问题描述】:
我正在树莓派上配置 ssh 服务器,使其仅支持基于密钥的身份验证。
我已经在服务器上创建了一个用户,并使用我的公钥和正确的权限设置了 ~/.ssh 目录。
用户当前被标记为“锁定”,因为它没有密码。这会导致 openssh 拒绝连接。
# /var/log/auth.log
Aug 9 09:05:26 raspberrypi sshd[6875]: User foo not allowed because account is locked
Aug 9 09:05:26 raspberrypi sshd[6875]: input_userauth_request: invalid user foo [preauth]
Aug 9 09:05:26 raspberrypi sshd[6875]: Connection closed by 192.168.0.4 [preauth]
理想情况下,我不需要密码。我已经通过 PKI 进行了身份验证。
也许我可以将密码设置为“密码”或随机字符串 - 但这看起来很乱。
有什么建议吗?
编辑:
澄清一下,我的帐户被锁定是因为它没有密码,即
$ passwd -u foo
passwd: unlocking the password would result in a passwordless account.
You should set a password with usermod -p to unlock the password of this account.
Petesh 解决方案是正确的:
usermod -p '*' foo
来自 shadow 的手册页:
"如果密码字段包含一些不是 crypt(3) 有效结果的字符串,例如 ! 或 *,用户将无法使用 unix 密码登录(但用户可以登录系统通过其他方式)。”
【问题讨论】:
标签: linux unix ssh public-key-encryption openssh