无法通过Cloud Shell/SCP连接SSH及磁盘容量异常恢复求助
问题1:SSH/FTP无法连接的修复方案
将受影响磁盘挂载到临时实例后,除修复sudo权限外,还需修正其他系统关键文件/目录的权限——之前全量设置777已破坏大量系统默认权限:
修复SSH相关权限
- 修正sshd配置及密钥文件权限:
chmod 644 /etc/ssh/sshd_config chmod 600 /etc/ssh/ssh_host_* chown root:root /etc/ssh/ssh_host_* - 修正用户目录及SSH密钥目录权限(以默认用户
ubuntu为例):chmod 700 /home/ubuntu/.ssh chmod 600 /home/ubuntu/.ssh/authorized_keys chown -R ubuntu:ubuntu /home/ubuntu/.ssh - 修正PAM配置文件权限(避免SSH登录被拦截):
chmod 644 /etc/pam.d/* chown root:root /etc/pam.d/*
修复FTP相关权限(以vsftpd为例)
- 修正FTP配置文件权限:
chmod 644 /etc/vsftpd.conf chown root:root /etc/vsftpd.conf - 修正用户家目录权限(FTP服务通常拒绝777权限的目录):
chmod 755 /home/ubuntu chown ubuntu:ubuntu /home/ubuntu
完成上述操作后,卸载磁盘并挂载回原实例,重新尝试SSH/FTP连接。
问题2:磁盘从65GB无损回退至20GB的步骤
前置准备
- 先对目标磁盘创建快照(规避操作风险)
- 将磁盘挂载到临时实例,确保挂载点为只读或已卸载原实例的所有挂载
步骤1:缩小文件系统(以ext4为例)
- 检查文件系统完整性:
e2fsck -f /dev/sdb1 # 替换为实际挂载的磁盘分区 - 缩小文件系统至20GB:
resize2fs /dev/sdb1 20G
步骤2:调整磁盘分区大小
使用parted工具修改分区(默认GPT分区表):
- 启动parted:
parted /dev/sdb # 替换为实际磁盘设备 - 查看当前分区信息,记录原分区的起始扇区:
print - 删除原分区:
rm 1 # 假设原分区编号为1 - 创建新的20GB分区,起始扇区与原分区一致:
mkpart primary <原起始扇区> 20GB - 退出parted:
quit
步骤3:调整GCP磁盘大小
登录GCP控制台,找到目标磁盘,将磁盘大小修改为20GB,完成后将磁盘挂载回原实例即可。
内容的提问来源于stack exchange,提问作者Tony Leung
相关产品推荐
相关产品推荐

