前情提要:
今天收到腾讯云发来短信提示我的云服务器在17:23分时异地登录,我震惊,因为今天貌似根本没登过云服务器
于是我赶紧上腾讯云控制台查看,先修改密码,然后重启,最后关机
在接近19点时我重新开机,再次修改了密码,然后按照网上的教程关闭定时任务,查找有没有守护进程或者挖矿病毒,无果,感觉可能是虚惊一场,但可能由于我反复的关机重启,导致了一些问题,如下
1. 问题
- 当我用 xshell 重新连接登录我的服务器时,报错显示
/bin/bash: Permission denied
- 我只能先在网页上登录到终端
2. 解决问题
2.1 查看 SSH 服务状态
ps -e | grep ssh
- 这个命令返回了与 sshd 相关的进程信息,那么说明 SSH 服务正在运行,没问题
2.2 检测防火墙设置
sudo firewall-cmd --list-all
- 从防火墙规则输出看出,SSH服务的端口(22/tcp)已经被允许通过防火墙,因此防火墙设置方面似乎没有问题
2.3 检查配置文件
- 检查
/etc/ssh/sshd_config
文件,确保配置允许 root 用户登录
sudo vim /etc/ssh/sshd_config
-
PermitRootLogin yes
应该被设置以允许 root 用户登录 -
PasswordAuthentication yes
设置为允许用密码登录
PermitRootLogin yes
PasswordAuthentication yes
- 修改后重启SSH服务
systemctl restart sshd
- 但还是不行,同样的报错
2.4 关闭 selinux (终于解决)
- 终于,在腾讯云文档的故障处理部分里找到了这篇:云服务器 Linux 实例:无法通过 SSH 方式登录-故障处理-文档中心-腾讯云 (tencent.com)
- 于是尝试运行下面命令:
# 查看当前 SELinux 服务状态, 若返回参数为 enabled 即处于开启状态
sudo /usr/sbin/sestatus -v
# 临时关闭 SELinux 服务
sudo setenforce 0
- 再次尝试:终于连上了!!!
- 最终还是在官方文档里找到的解决办法,心累,解决了3个小时才搞定