无法通过SSH连接到以前正常工作的GCP虚拟机实例 [英] Cannot SSH into the GCP VM instances that used to work
问题描述
我昨天创建了几个GCPVM实例,它们都使用相同的配置,但运行不同的任务。
我可以通过GCP控制台通过SSH进入这些实例,它们都工作得很好。
今天,我想检查任务是否已完成,但我不能再通过浏览器通过SSH连接到这些实例中的任何一个.错误消息为:
Connection via Cloud Identity-Aware Proxy Failed
Code: 4010
Reason: destination read failed
You may be able to connect without using the Cloud Identity-Aware Proxy.
因此,我在禁用云身份奖励代理的情况下重试。但随后写道:
Connection Failed
An error occurred while communicating with the SSH server. Check the server and the network configuration.
正在运行
gcloud compute instances list
显示所有我的实例,状态为RUNNING
。
但是当我运行
gcloud compute instances get-serial-port-output [instance-name]
使用上述命令返回的[Instance-Name]。(这是为了检查实例的引导盘是否已用完可用空间。)
它返回了
(gcloud.compute.instances.get-serial-port-output) Could not fetch serial port output: The resource '...' was not found
一些额外信息:
我从相同的Internet(我家的Internet)访问VM实例,其他一切都是一样的
我是该项目的所有者
我的帐户正在使用300美元积分的GCP免费试用
实例机器类型为c2-STANDARD-4,使用的是Linux深度学习
gcloud配置在我看来是正确的:
$ gcloud config list
[component_manager]
disable_update_check = True
[compute]
gce_metadata_read_timeout_sec = 5
[core]
account = [my_account]
disable_usage_reporting = True
project = [my_project]
[metrics]
environment = devshell
更新:
我重置了其中一个实例,现在我可以成功地通过SSH连接到该实例。但是,实例上运行的作业在重置后停止。
我想让作业在其他实例上保持运行。是否有无需重置即可通过SSH连接到其他实例的方法?
推荐答案
您发出的是VM端。您正在运行的任务使ssh服务无法接受传入连接,并且只有在重新启动之后您才能连接。
您应该能够使用gcloud compute instances get-serial-port-output [instance-name]
查看实例的serial console output,但是如果由于某种原因不能查看,您可以尝试使用GCP控制台-转到实例的详细信息并单击Serial port 1 (console),您将看到输出。
您甚至可以interact with your VM (login) via the console。如果停止了ssh服务,这尤其有用,但是您需要登录/密码,因此首先必须访问VM或使用启动脚本使用您的密码添加用户。但话又说回来-这需要重新启动。
无论哪种情况,重新启动虚拟机似乎都是最佳选择。但是您可以通过检查日志来尝试找出导致ssh服务在一段时间后停止的原因。或者您可以使用cron
和df -Th /mountpoint/path | tail -n1 >> /name_of_the_log_file.log
创建您自己的(磁盘空间、内存、CPU等)。
例如,您可以使用cron
检查&;是否正在启动ssh服务。
如果某些内容不能正常工作(根据文档)-请转到IssueTracker并创建新问题以获取更多帮助。
这篇关于无法通过SSH连接到以前正常工作的GCP虚拟机实例的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!