返回列表

谷歌云免绑卡账号 谷歌云服务器无法连接

谷歌云GCP / 2026-04-17 20:00:42

你盯着终端里那行冷冰冰的 ssh: connect to host 35.232.xxx.xxx port 22: Connection refused,手里的咖啡凉了,心跳快了,微信置顶的「甲方爸爸」头像正疯狂闪烁——而你的谷歌云服务器,像一位突然失联的前任,既不回消息,也不接电话。

别急,先深呼吸,把键盘敲出火星子之前,请允许我以一个曾因输错区域名导致整晚重装防火墙、并对着404页面默念《心经》三遍的老运维身份,陪你把这事儿捋明白。

第一幕:别急着怀疑人生,先确认它是不是真死了

谷歌云(Google Cloud Platform,简称GCP)不是玄学平台,它是工程产品——所以它的故障,99%有迹可循,剩下1%是凌晨三点你手抖点错了‘停用实例’按钮后强撑的幻觉。

第一步:打开GCP控制台 → Compute Engine → VM instances。看一眼你的实例状态栏:
Running?恭喜,它还活着,只是暂时性社恐;
TerminatedStopped?醒醒,你昨晚睡觉前点了“关机”,不是“隐身”。点右边三个点 → Start,等30秒,再试SSH。

注意:GCP默认不会自动重启已停止的实例,这点和AWS的“按需启动”逻辑不同——它更像你家冰箱:关了就是关了,不会因为你饿了就自动通电。

第二幕:网络?先问问你家WiFi今天有没有闹脾气

别笑。我亲眼见过三位资深工程师,在服务器连不上时,花47分钟排查VPC路由表,最后发现是办公室路由器固件升级后禁用了IPv6转发……而他们连的还是IPv4。

自查清单(请逐条念出声):

  • 你的笔记本能上B站/小红书/知乎吗?(不能→先修本地网络)
  • 手机开热点,换网络再连?(能连→你家宽带在演《甄嬛传》:表面平静,暗地封杀)
  • ping 35.232.xxx.xxx 测试基础连通性?(超时≠服务器挂了,GCP默认禁ping!这是它祖传的礼貌:不搭理ICMP,只欢迎TCP)

所以,别信ping。改用:
telnet 35.232.xxx.xxx 22(Linux/macOS)或 Test-NetConnection 35.232.xxx.xxx -Port 22(PowerShell)。如果显示“连接失败”,说明流量根本没抵达服务器——问题出在网络路径上。

第三幕:防火墙?它不是守门员,是选择性失忆症患者

谷歌云免绑卡账号 GCP的防火墙规则,是出了名的“记性差+脾气怪”。它不拦所有流量,只拦它不认识的;它不看IP白名单,只看你给它写的入站规则是否精准匹配。

进控制台 → VPC network → Firewall → 看规则列表。重点检查两条:

  1. default-allow-ssh 是否存在且启用?(默认规则,但常被误删)
  2. 你自定义的规则是否写了 Targets: All instances in the network,而不是“仅标签为web-server的实例”?(然后你忘了给实例打标签)

更隐蔽的坑:规则优先级。GCP防火墙按数字升序执行,1000的规则会覆盖100的规则。如果你写了条“拒绝所有”的高优先级规则(比如priority=10),它会默默干掉所有SSH请求——连日志都不留一句道歉。

第四幕:SSH本身?它比初恋还娇气

SSH连接失败 ≠ 服务器崩了,很可能是钥匙丢了、锁芯锈了、或者门牌号贴错了。

常见四宗罪:

  • 密钥文件权限过大:Linux/macOS下,私钥文件权限必须 ≤600(chmod 600 ~/.ssh/my-key),否则OpenSSH直接拒收,理由是“太不安全,像把银行卡密码写在便利贴上贴电脑屏”。
  • 用户名搞错:GCP默认用户不是root,也不是admin,而是你创建实例时填的username(如john),或通过元数据注入的gcp-user。Ubuntu镜像常用ubuntu,CentOS常用centos——查文档比猜快10倍。
  • 端口被改过:有人为安全把SSH端口从22改成2222,结果忘记录在共享文档里,三年后重启才想起:“哦对,我改过端口…”
  • SSHD服务挂了:登录串口终端(Serial Console)一看,systemctl status sshd 显示红色dead——这时候不是网络问题,是系统内部罢工。

第五幕:串口终端——GCP给你的救命备用钥匙

当SSH、RDP、所有远程方式都失效,GCP还留了一扇窗:串口控制台(Serial Console)。它不依赖网络栈,不走SSH协议,靠的是底层串行通信——相当于服务器的“急救呼叫按钮”。

操作路径:实例详情页 → Remote access → Enable connecting to serial console → 勾选 → 输入启动时设置的密码(或用SSH密钥登录)。进去后,你能看到开机日志、输入命令、重启sshd、甚至修复fstab……它救过我的命三次,其中两次是因为我把/etc/fstab写错了导致系统卡在启动阶段。

第六幕:终极排查口诀(背下来,贴工位,保平安)

一查状态,二换网,三看防火墙,四验密钥与端口,五登串口找日志,六翻日志查sshd,七看磁盘是否满,八查元数据是否锁,九问自己有没有点错区,十叹口气——原来没开公网IP。

对,最后这个最扎心:实例没配外部IP。GCP新创建的实例,默认可选“无外部IP”,美其名曰“安全隔离”,实则让你在内网深情呼唤,却没人听见。解决方案:编辑实例 → 编辑 → 外部IP → 选择“临时外部IP”或“保留静态IP”。

彩蛋:防翻车小抄

  • 创建实例时,勾选 “Allow HTTP/HTTPS traffic” 会自动加两条防火墙规则——但不会加SSH!别偷懒。
  • gcloud compute ssh 命令代替裸ssh,它会自动处理密钥、用户名、项目/区域参数,减少手误。
  • 给关键实例打标签(如env=prod),再基于标签写防火墙规则,比IP段管理靠谱十倍。
  • 定期导出防火墙规则:gcloud compute firewall-rules list --format=json > fw-backup.json——毕竟人总会犯错,但JSON不会撒谎。

最后说句掏心窝子的话:服务器连不上,从来不是技术问题,而是信息断层问题。你缺的不是答案,是一张清晰的排查地图,和一个愿意告诉你“你没做错,只是漏看了那一行小字”的人。

所以现在,关掉这篇文章,打开GCP控制台,从第一步开始。别怕慢,怕的是跳步。等你连上的那一刻,记得给自己泡杯热茶——这次,别让它凉了。

Telegram售前客服
客服ID
@cloudcup
联系
Telegram售后客服
客服ID
@yanhuacloud
联系