增加了我在 Google Cloud Platform 上的 VM 磁盘大小,现在 SSH 登录需要输入密码?

增加了我在 Google Cloud Platform 上的 VM 磁盘大小,现在 SSH 登录需要输入密码?

我增加了在 Google Cloud Platform 上运行的 VM 实例的磁盘大小。实例上没有进行任何其他更改,只是从 200 GB 简单更改为 400 GB。当我在进行更改后启动实例并尝试通过 PuTTY 上的无密码私钥 SSH 登录时,服务器拒绝了我的密钥,我也无法通过浏览器打开 SSH(它只是显示正在连接,然后无法连接,正在重试)。

从那时起,我重置了密钥,生成了新的公钥和私钥,检查了防火墙、OS-login,甚至运行了一些故障排除脚本,但都无济于事。将 enable-oslogin 设置为 true 后,PuTTY 一​​直要求我输入密码才能通过 SSH 密钥登录,而我从未设置过任何密码?我已将 oslogin 设置为 false,甚至将其从元数据中删除,但它仍然要求我输入我未设置的密码。

如果有人知道发生了什么,我会非常感激。非常感谢。

答案1

这个磁盘是您升级操作系统的驱动器还是另一个驱动器?如果是您的操作系统卷,那么可能权限/home/${USER}/.ssh/authorized_keys已更改。如果这些权限混乱,那么您将无法使用公钥进行 SSH,并且必须暂时打开密码验证才能/etc/ssh/sshd_config登录并更改权限。一旦被锁定,您就无能为力了,但如果有任何方法可以重新登录,请按照以下步骤恢复权限,以便您可以重新使用 SSH。此外,这假设您有 SSH 密钥/home/${USER}/.ssh

为了使 SSH 正常工作,该/home目录需要由 root 拥有,并且掩码为 755:

chown root:root /home
chmod 755 /home

/home/${USER}目录需要由 700 拥有${USER}并具有权限。

chown ${USER}:${USER} /home/${USER}
chmod 700 /home/${USER}

/home/${USER}/.ssh目录需要由 ${USER} 拥有并具有权限 700。

chown ${USER}:${USER} /home/${USER}/.ssh
chmod 700 /home/${USER}/.ssh

最后,文件 /home/${USER}/.ssh/authorized_keys 必须由 ${USER} 拥有,并具有权限 600

chown ${USER}:${USER} /home/${USER}/.ssh/authorized_keys
chmod 600 /home/${USER}/.ssh/authorized_keys

最后,尝试通过 SSH 进入您的实例:

ssh -i /path/to/pub/key ${USER}@${IP_ADDRESS}

当我不小心弄乱了 AWS 实例的权限时,这个方法救了我一命。以下是我在网上找到的有关您的问题的信息:

https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-ssh https://cloud.google.com/compute/docs/troubleshooting/troubleshoot-os-login

相关内容