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

误改/etc权限导致GCP实例SSH无法连接,如何恢复连接?

解决GCP实例因/etc权限错误导致SSH无法连接的问题

核心原因

执行chmod -R 777 /etc彻底破坏了/etc目录下所有文件和子目录的权限,包括SSH服务(sshd)依赖的配置文件、用户认证相关文件(如/etc/passwd、/etc/shadow)的权限,导致sshd无法正常启动或完成身份验证,进而拒绝SSH连接。

修复步骤

1. 启用并连接到实例的串行控制台

  • 登录GCP控制台,找到目标VM实例进入详情页面
  • 在远程访问区域,点击连接到串行控制台
  • 若首次使用,需先启用串行端口:进入实例编辑页面,找到串行端口,勾选启用连接到串行端口,保存修改后再返回连接串行控制台

2. 在串行控制台中登录实例

  • 控制台加载完成后按回车键,出现登录提示符
  • 使用实例的系统用户(如默认ubuntu/debian或自定义管理员用户)登录,输入用户名和密码;若未设置过密码,先在实例详情页点击设置密码完成配置后再登录

3. 修复/etc目录及关键文件权限

依次执行以下命令恢复权限:

  • 恢复/etc目录基本权限:
    sudo chmod 755 /etc
    
  • 修复用户认证相关文件权限:
    sudo chmod 644 /etc/passwd
    sudo chmod 640 /etc/shadow
    sudo chmod 644 /etc/group
    sudo chmod 640 /etc/gshadow
    
  • 修复sshd配置文件及目录权限:
    sudo chmod 644 /etc/ssh/sshd_config
    sudo chmod 755 /etc/ssh
    
  • 修复sudoers文件权限:
    sudo chmod 440 /etc/sudoers
    sudo chmod 755 /etc/sudoers.d
    
  • 恢复其他关键子目录权限:
    sudo chmod 755 /etc/systemd /etc/pam.d /etc/profile.d
    sudo chmod 644 /etc/pam.d/*
    

4. 重启sshd服务

sudo systemctl restart sshd

5. 验证SSH连接

关闭串行控制台,尝试通过Web控制台、gcloud CLI或VSCode重新建立SSH连接,确认问题解决。

6. 挂载磁盘的正确操作(补充)

当初你要实现磁盘自动挂载,正确操作应为:

  • 执行sudo blkid获取磁盘UUID
  • 使用sudo nano /etc/fstab或sudo vi /etc/fstab编辑挂载配置(无需修改/etc目录权限)
  • 添加挂载条目,示例:UUID=xxxx-xxxx /mnt/disks/mydisk ext4 defaults 0 2
  • 执行sudo mount -a测试挂载是否正常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 14:42:17