![无法通过浏览器 SSH 到 VM,但可以通过 gcloud compute ssh SSH](https://linux22.com/image/734481/%E6%97%A0%E6%B3%95%E9%80%9A%E8%BF%87%E6%B5%8F%E8%A7%88%E5%99%A8%20SSH%20%E5%88%B0%20VM%EF%BC%8C%E4%BD%86%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%20gcloud%20compute%20ssh%20SSH.png)
我有一个 ubuntu 16 的谷歌虚拟机。我以前从我的 Windows 10 笔记本电脑登录,通过打开网络浏览器进入谷歌控制台/计算引擎页面。然后单击我的虚拟机上的 ssh 按钮。我记得在我的虚拟机实例详细信息页面下,SSH 密钥列为无。
这种方法运行了数百次,直到昨天我尝试通过 gcloud sdk 命令提示符登录。使用此命令:
gcloud compute ssh my_instance
因为我尝试通过 scp 从 VM 下载一个大文件。之后,我无法再通过浏览器上的 ssh 按钮登录。每次它都只是永远停留在连接页面,不断将 ssh 密钥传输到 VM。以前它工作正常时,这个页面只出现几秒钟,然后我就可以登录 VM。现在它永远停留在那里。我尝试关闭并重新启动我的 VM,但仍然不起作用。
现在我只能通过 gcloud compute ssh 命令登录。但这似乎与我以前的系统不同。所有文件、文件夹看起来都一样。但很多软件都不存在。例如,当我通过浏览器上的 ssh 按钮登录时,我已经安装了 jupyter、docker、samtools 等。每次注销并重新登录时我都可以重新使用它们。但这次当我通过 gcloud ssh 登录时,我无法使用这些软件。系统说我没有安装它们。
我如何恢复以前的登录方式?谢谢。
答案1
尝试使用其他用户:
gcloud compute ssh [USER]@example-instance
其中 [USER] 是用于登录的新用户名,如果不起作用,请尝试使用磁盘快照创建另一个实例。
gcloud compute instances delete old-instance --keep-disks=boot
gcloud compute instances create new-instance --disk name=DISK,boot=yes,auto-delete=no
gcloud compute ssh new-instance
答案2
技术人员说我的启动盘已满,这就是为什么我无法通过 ssh 按钮登录。但是我仍然可以通过 gcloud compute ssh 登录,这让我很困惑。无论如何,技术人员帮助我从旧映像的快照中创建了一个更大的新实例,就像 Luke 建议的那样。现在我可以登录到我的新实例并从那里开始工作。