OpenSSH 升级后,Ubuntu EC2 服务器不接受密钥

OpenSSH 升级后,Ubuntu EC2 服务器不接受密钥

我刚刚在 EC2 Ubuntu 实例上升级了 OpenSSH。

sshd -V 现在提供:OpenSSH_6.6p1

之前显示:OpenSSH_5.9p1 Debian-5ubuntu1.3

但是,我无法再使用来自 Amazon 的 .pem 文件登录。

它要求输入密码,并且 auth.log 显示以下内容:

Sep  9 16:27:54 ip------0 sshd[31498]: rexec line 89: Unsupported option UsePAM
Sep  9 16:27:55 ip------0 sshd[31498]: User ubuntu not allowed because account is locked
Sep  9 16:27:55 ip------0 sshd[31498]: input_userauth_request: invalid user ubuntu [preauth]

答案1

这是非常清楚的:

User ubuntu not allowed because account is locked

SSH 不允许登录锁定的帐户,无论使用密钥还是密码。解锁用户“ubuntu”:

passwd -u ubuntu

如果您之前从未为用户设置过密码并且不打算使用密码,那么请不要将其留空。设置一个随机密码并忘记它:

passwd    ubuntu

答案2

尝试查看/etc/shadow文件。我相信您会!在加密密码列(第二个)中看到。我能够通过!从密码列中删除来解决这个问题。顺便说一句,身份验证日志抱怨帐户被锁定。(!通常用于锁定用户帐户)

/etc/shadow

ubuntu:!$6$HmV2ibLf$s25xgRnrD6pbOVAcpzl45PPYhWKlyy.OauX2xadGrWWANGDZ66WpeglPryd14kX.IbKiKvFB2OA/CZY6ZG4U0/:15859:0:99999:7:::

它看起来应该像上面那样。您删除!第二列中的,然后您应该能够再次以 ubuntu 用户身份和用于它的密钥登录到机器。

您可以通过分离当前实例的根卷并将其附加到另一个测试实例来执行上述所有步骤。将卷安装为辅助驱动器,然后编辑挂载 /etc/shadow文件。

相关内容