[英]Google Cloud Platform fix SSH
我的谷歌计算引擎上的SSH访问有问题。 我制作了一台服务器,在其上设置了应用程序并配置了域,一切正常。 几天后,当我想接近她进行更改时,我的 SSH 没有工作。 我有一个假设我正在打开防火墙并且我没有为 SSH 添加规则,也许这是个问题? 但是现在如何访问机器并启用它呢?
提前致谢。
要解决您的问题,您可以通过串行控制台连接到您的 VM 实例。 在通过串行控制台连接到 VM 之前,请检查您是否在GCP Firewall启用了与 VM 实例的连接。
请查看以下分步说明:
使用gcloud
命令启用串行控制台连接:
gcloud compute instances add-metadata NAME_OF_YOUR_VM_INSTANCE \ --metadata serial-port-enable=TRUE
或 go 到Compute Engine
-> VM instances
-> 点击NAME_OF_YOUR_VM_INSTANCE
-> 点击EDIT
-> go 到Remote access
部分并选中Enable connecting to serial ports
创建临时用户和密码以登录:关闭您的虚拟机并通过在Custom metadata
键startup-script
和值部分添加来设置启动脚本:
#:/bin/bash useradd --groups google_sudoers tempuser echo "tempuser:password" | chpasswd
然后启动你的虚拟机。
使用gcloud
命令通过串口连接到你的虚拟机:
gcloud compute connect-to-serial-port NAME_OF_YOUR_VM_INSTANCE
或 go 到Compute Engine
-> VM instances
-> 点击NAME_OF_YOUR_VM_INSTANCE
-> 并点击Connect to serial console
检查出了什么问题。
使用gcloud
命令禁用通过串口的访问:
gcloud compute instances add-metadata NAME_OF_YOUR_VM_INSTANCE \ --metadata serial-port-enable=FALSE
或 go 到Compute Engine
-> VM instances
-> 点击NAME_OF_YOUR_VM_INSTANCE
-> 点击EDIT
-> go 到Remote access
部分并取消选中Enable connecting to serial ports
。 请记住,根据文档Interacting with the serial console :
注意:交互式串行控制台不支持基于 IP 的访问限制,例如 IP 白名单。 如果您在实例上启用交互式串行控制台,客户端可以尝试从任何 IP 地址连接到该实例。 如果知道正确的 SSH 密钥、用户名、项目 ID、区域和实例名称,任何人都可以连接到该实例。 使用防火墙规则来控制对您的网络和特定端口的访问。
此外,请查看 3rd party example Resolving getting locked out of a Compute Engine 。
如果您无法通过串行控制台检查日志进行连接:
Compute Engine
-> VM instances
-> 点击 NAME_OF_YOUR_VM -> 在VM instance details
找到Logs部分,然后点击Serial port 1 (console)
如果您发现与磁盘空间相关的错误/警告,您可以尝试根据Resizing a zonal persistent disk文档调整其大小,也可以参考Recovering an inaccessible instance or full boot disk文章:
如果没有任何帮助,请尝试遵循文档故障排除 SSH中的其他建议,并根据您的尝试更新您的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.