我有一台 UBUNTU 14.04 LTS VM,我可以使用普通 SSH 用户和密码通过 SSH 进入。重新启动后,密码不被接受。这是系统上唯一的普通用户帐户。
我曾尝试使用 GCP SSH,包括从命令行、使用 GCP Web 以及串行控制台,但都没有成功。
该虚拟机是从 Azure 平台迁移过来的,并且没有 GCP 守护程序(或者它不起作用),但到目前为止它一直都可以正常使用普通的 SSH 登录。
这是之前一直有效的方法的 ssh -v 的尾部。
debug1: Next authentication method: password
[email protected]'s password:
debug1: Authentications that can continue: publickey,password
Permission denied, please try again.
我将我的公钥直接添加到 GCP VM 实例,希望这样就可以使用我的 google 用户帐户(就像我在 GCP 创建的大多数其他 VM 上一样),但这也不起作用。
-- The VM serial console output may provide details to aid in troubleshooting connection problems.
串行控制台仅显示上次普通登录尝试的活动,因此我怀疑 GCP 守护程序根本没有在实例上运行。
是否有某种方法可以创建备用登录名或有人可以建议其他选项?
答案1
(由于声誉不够,我无法对您的问题发表评论。)
是否有某种方法可以创建备用登录名或有人可以建议其他选项?
我不确定我的理解是否正确,或者这个答案是否能满足你的问题。我用了一个技巧将 pem 文件通过 ssh 连接到 GCE。实例需要具有非临时 IP 地址,比如说静态 IP 地址。因为我可以将此私钥分享给我的同事(这样做时请自行承担密钥泄露的风险)。
以下是使用密钥文件设置 ssh 的步骤:
在服务器中创建新密钥
ssh-keygen -t rsa -b 2048 -v
按照包括密钥位置和密钥密码在内的说明进行操作。
将新密钥附加到 authorized_keys
cat /your/key/path/key.pub >> ~/.ssh/authorized_keys
将 private 重命名
key
为.pem
extension (可选)- 将私钥文件复制到远程机器并将权限设置为 400
chmod 400 [KEY]
- 使用密钥文件测试 ssh 连接
ssh -i [KEY(.pem)] [USER]@[HOST IP]
编辑:正如@faizan在评论中指出的那样,如果没有对虚拟机的串行控制台访问权限,请尝试使用以下方法将 ssh 密钥添加到 ~/.ssh/authorized_keys启动脚本。
就是这样。
PS. 如果您未确定用户名,Google 计算引擎会根据会话创建用户。这取决于您使用的 Google Cloud SDK 凭证。但对于任何机器的 ssh,使用私钥登录应该都可以正常工作。
答案2
您也可以使用串行控制台登录到您的虚拟机Google 串行控制台。从这里,您可以继续配置 gcloud sdk 和其他任何内容
答案3
我已经与类似的问题斗争了差不多一个星期。我有一个用于 GCP 开发的计算实例。我的 Vscode IDE 连接到这个实例,所以我几乎每天都需要它。几天前它突然死机了,我无法确定到底出了什么问题。
在此之前,我曾尝试使用 gcp ssh 选项,更改端口,最后使用 gcloud 进行 ssh,但所有选项均未成功。现在,我刚刚读到那里,有人提到reboot
并解决了我的问题。不过,我有几个容器服务在其上运行。