GCP Linux无法ssh处理

原创 server  2024-08-31 13:06  阅读 47 次

引言

有时会出现误操作的情况,错误的修改了某个文件内容或权限,导致系统无法登陆。 例如:

  1. fstab挂载了一个不存在的磁盘
  2. 修改了防火墙规则限制了登陆
  3. /etc/security/access.conf 配置了一些规则限制登陆
  4. 误操作修改了/var/empty/sshd的权限
  5. /etc/ssh/sshd_config 内容不正确
  6. 关闭了sshd服务等
  7. selinux打开导致ssh登陆失败
  8. CPU,内存使用过高导致无法连接

在服务器无法ssh登陆,且没有镜像或快照备份的情况下,通过以下方法可以解决一些简单的服务器无法ssh连接的问题

场景一

服务器可以正常启动,包括但不限于防火墙规则问题,ssh服务问题,root用户限制问题,文件权限等

情况一

服务器开启了密码登陆,可以直接使用串口登陆解决

实施步骤

1,编辑实例,勾选启用连接到串行端口

https://pics3.baidu.com/feed/c995d143ad4bd1139487f2fa534e290449fb0598.png

2,通过穿行端口连接服务器

https://pics5.baidu.com/feed/09fa513d269759eeae2457a1a31ace1d6c22df54.png

3,登陆后即可修改相关配置解决问题 例:sshd 配置文件权限问题

执行以下命令,查看报错原因。

sshd -t

若返回类似如下信息:

“/var/empty/sshd must be owned by root and not group or world-writable.”

执行以下命令,修改 /var/empty/sshd/ 文件权限。

chmod 711 /var/empty/sshd/

若返回类似如下信息:

“/etc/ssh/ssh_host_rsa_key are too open”

执行以下命令,修改 /etc/ssh/ssh_host_rsa_key文件权限

chmod 600 /etc/ssh/ssh_host_rsa_key

情况二

服务器未开启密码登陆,无法直接通过串行控制台连接

实施步骤

1,可以为实例添加启动脚本

https://pics5.baidu.com/feed/43a7d933c895d14394e6c8447f110f095baf0734.png

2,针对上述问题,可以通过此脚本添加用户及密码

#! /bin/bash

adduser USERNAME

echo USERNAME:PASSWORD | chpasswd

usermod -aG google-sudoers USERNAME

3,使用新添加的用户通过串行控制台登陆,步骤见情况一

场景二

服务器无法正常启动,如/etc/fstab下挂载了一个不存在的磁盘,此时是无法通过串口登陆的。

思路:可以准备一台新的实例,把故障机的系统盘分离后,挂载到新的实例上,修改/etc/fstab文件

实施步骤

1,关机(故障机操作)

https://pics3.baidu.com/feed/359b033b5bb5c9ea904e0c1eded83b0b38f3b3fe.png

2,点击实例ID进入,点击编辑分离启动盘(故障机操作)

https://pics0.baidu.com/feed/d043ad4bd11373f01a28e571aeeec6f0faed0431.png
https://pics5.baidu.com/feed/37d3d539b6003af3cdb1566c2ccb4b571138b6a4.png

3,将故障机分离的启动盘添加到新实例上(新实例操作)

https://pics2.baidu.com/feed/0b7b02087bf40ad1542ca3b047cd9cd4abecce81.png

4,新实例挂载磁盘(新实例操作)

此时可以看到新实例具有两块盘

https://pics1.baidu.com/feed/95eef01f3a292df5cbfc4b41b1d0d16b35a87397.png

挂载sdb1到mnt目录下

mount /dev/sdb1 /mnt

https://pics4.baidu.com/feed/3ac79f3df8dcd100a1b0c0187c6aca1bb8122fc2.png
https://pics3.baidu.com/feed/377adab44aed2e7310396dd38de02c8085d6fa6e.png

5,进入/mnt/etc/fstab文件注释掉不存在的磁盘即可

6,修复完毕后,分离附加的系统盘(新实例操作)

https://pics5.baidu.com/feed/d8f9d72a6059252d577d1d99387a8e305ab5b935.png

7,分离后将磁盘重新添加到故障机(故障机操作)

https://pics7.baidu.com/feed/91529822720e0cf31020998100a77f14bc09aae6.png

提醒

风险无处不在,建议做好镜像或定期快照备份

本文地址:https://www.91hosts.com/technical-notes/846.html
关注我们:请关注一下我们的微信公众号:扫描二维码谷歌云GCP/亚马逊AWS/微软云AZURE/阿里云国际代理商-91hosts的公众号
版权声明:本文为原创文章,版权归 server 所有,欢迎分享本文,转载请保留出处!

评论已关闭!