Google Cloud Platform修复SSH

mare96m

Google计算引擎上的SSH访问存在问题我做了一个服务器,在上面设置了应用程序,并配置了域,一切正常。几天后,当我想与她联系进行更改时,SSH无法使用。我有一个假设我正在打开防火墙,但是我没有为SSH添加规则,也许这是一个问题吗?但是,如何立即访问计算机并启用它呢?

提前致谢 。

塞里·罗霍扎

为了解决您的问题,您可以通过串行控制台连接到VM实例。通过串行控制台连接到VM之前,请检查是否在GCP防火墙上启用了到VM实例的连接

请查看下面的分步说明:

  1. 使用以下gcloud命令启用串行控制台连接

     gcloud compute instances add-metadata NAME_OF_YOUR_VM_INSTANCE \
     --metadata serial-port-enable=TRUE
    

或转到Compute Engine-> VM instances->单击NAME_OF_YOUR_VM_INSTANCE->单击EDIT->转到部分Remote access并检查Enable connecting to serial ports

  1. 创建临时用户和密码以登录:关闭VM并通过在section和值处添加来设置启动脚本Custom metadatastartup-script

     #!/bin/bash
     useradd --groups google_sudoers tempuser
     echo "tempuser:password" | chpasswd
    

然后启动您的VM。

  1. 使用以下gcloud命令通过串行端口连接到VM

     gcloud compute connect-to-serial-port NAME_OF_YOUR_VM_INSTANCE
    

    或转到Compute Engine-> VM instances->单击NAME_OF_YOUR_VM_INSTANCE->然后单击Connect to serial console

  2. 检查出了什么问题。

  3. 使用以下gcloud命令禁用通过串行端口的访问

     gcloud compute instances add-metadata NAME_OF_YOUR_VM_INSTANCE \
     --metadata serial-port-enable=FALSE
    

或转到Compute Engine-> VM instances->单击NAME_OF_YOUR_VM_INSTANCE->单击EDIT->转到部分Remote access并取消选中Enable connecting to serial ports请记住,根据文档“与串行控制台交互”

注意:交互式串行控制台不支持基于IP的访问限制,例如IP白名单。如果在实例上启用了交互式串行控制台,则客户端可以尝试从任何IP地址连接到该实例。只要知道正确的SSH密钥,用户名,项目ID,区域和实例名称,任何人都可以连接到该实例。使用防火墙规则来控制对网络和特定端口的访问。

此外,请看第3方示例解决被Compute Engine锁定的问题

如果您无法通过串行控制台连接,请检查日志:

  1. 转到Compute Engine-> VM instances->单击VM instance details查找部分“日志”中的NAME_OF_YOUR_VM->,然后单击Serial port 1 (console)
  2. 再次重新启动您的VM实例。
  3. 检查完整的启动日志中是否有任何错误或警告。

如果发现与磁盘空间有关的错误/警告,则可以尝试根据文档“调整分区持久性磁盘的大小”相应地调整其大小,还可以根据“恢复无法访问的实例或完整的启动磁盘”一文进行调整

如果没有帮助,请尝试遵循“ SSH故障排除”文档中的其他建议,并尝试进行更新。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章