误关闭UFW SSH 22端口无法连接GCP Ubuntu实例求助
解决GCP Ubuntu实例UFW封禁SSH 22端口无法连接的问题
方法1:通过GCP串行控制台直接修改UFW规则
- 登录GCP控制台,定位到目标VM实例的详情页面
- 滚动到页面下方的串行端口区域,点击「连接到串行端口」打开终端
- 输入实例的用户名和密码完成登录(若未设置密码,可优先使用方法2)
- 执行以下命令放行22端口并重载UFW规则:
sudo ufw allow 22/tcp sudo ufw reload - 操作完成后即可恢复SSH连接
方法2:通过启动脚本自动修复(无需直接登录)
- 在VM实例详情页点击「编辑」按钮
- 找到「自定义元数据」模块,添加或更新
startup-script元数据,值为:#!/bin/bash ufw allow 22/tcp ufw reload - 保存修改后,重启实例
- 实例重启时会自动执行启动脚本,完成22端口的放行,之后即可正常SSH连接
关于Google Cloud PowerShell的解决方案
可以使用Google Cloud PowerShell(基于Google Cloud CLI)完成修复,步骤如下:
- 确保本地已安装并初始化Google Cloud CLI(执行
gcloud init完成配置) - 执行命令添加启动脚本元数据:
替换gcloud compute instances add-metadata YOUR_INSTANCE_NAME --metadata startup-script="#!/bin/bash ufw allow 22/tcp ufw reload" --zone YOUR_INSTANCE_ZONEYOUR_INSTANCE_NAME和YOUR_INSTANCE_ZONE为你的实例名称和所在区域 - 重启实例:
gcloud compute instances restart YOUR_INSTANCE_NAME --zone YOUR_INSTANCE_ZONE - 实例重启完成后,22端口将被自动放行,恢复SSH连接
内容的提问来源于stack exchange,提问作者Shivrajsinh Dhummad
相关产品推荐
相关产品推荐

