You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法SSH连接GCE实例,连接陷入循环,请求解决方案

解决GCE实例修改Linux用户名后无法SSH连接的问题

这种情况我之前帮朋友处理过,核心原因是修改用户名后,用户目录权限、SSH密钥文件权限或者系统用户配置出现了不匹配,咱们一步步来修复:

方法一:通过串行控制台手动修复(最直接)

  1. 启用串行控制台:
    • 登录GCE控制台找到目标实例,点击「编辑」按钮。
    • 滚动到「远程访问」区域,勾选「启用串行控制台连接」后保存设置。
  2. 进入串行控制台并登录:
    • 返回实例详情页,切换到「串行端口」标签,点击「连接到串行端口1」。
    • 按几次回车键调出登录提示符,尝试用新修改的用户名登录。如果没设置过用户密码,需要先进入单用户模式设置:
      • 重启实例,启动过程中按e进入GRUB编辑模式。
      • 找到以linux开头的行,在末尾添加init=/bin/bash,按Ctrl+X启动单用户模式。
      • 挂载根目录为可读写:mount -o remount,rw /
      • 设置新用户名的密码:passwd 你的新用户名
  3. 修复权限问题:
    • 登录后检查用户目录权限,正确权限应为drwxr-xr-x(755):
      ls -ld /home/你的新用户名
      
      不对的话执行:chmod 755 /home/你的新用户名
    • 检查.ssh目录和authorized_keys文件权限,正确权限是.ssh为drwx------(700),authorized_keys为-rw-------(600):
      ls -ld /home/你的新用户名/.ssh
      ls -l /home/你的新用户名/.ssh/authorized_keys
      
      权限错误的话执行:
      chmod 700 /home/你的新用户名/.ssh
      chmod 600 /home/你的新用户名/.ssh/authorized_keys
      
    • 确保.ssh目录和文件的所有者是新用户名:
      chown -R 你的新用户名:你的新用户名 /home/你的新用户名/.ssh
      
  4. 重启SSH服务:
    • Debian/Ubuntu系执行:systemctl restart sshd
    • RHEL/CentOS系执行:service ssh restart
    • 退出串行控制台后尝试重新SSH连接。

方法二:使用启动脚本自动修复(串行控制台无法登录时用)

  1. 在GCE控制台编辑实例,找到「自定义元数据」区域,点击「添加项」。
  2. 键名填startup-script,键值填以下脚本(替换成你的新用户名):
    #!/bin/bash
    chown -R 你的新用户名:你的新用户名 /home/你的新用户名
    chmod 755 /home/你的新用户名
    chmod 700 /home/你的新用户名/.ssh
    chmod 600 /home/你的新用户名/.ssh/authorized_keys
    systemctl restart sshd
    
  3. 保存修改后重启实例,等待几分钟后尝试SSH连接。

额外小提示

  • 浏览器SSH连接失败的话,试试清除缓存或者用隐身窗口,避免旧会话信息干扰。
  • 确认下实例防火墙规则里,端口22的入站规则是允许的(虽然你之前能连,大概率没问题,但可以快速核对下)。

内容的提问来源于stack exchange,提问作者alper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 04:13:41