文章目录
- 说明
- 报错日志内容查看
- secure日志查看【知道就行】
- messages日志查看【这里面有记录】
- 处理方法
- key文件删除
- 修改配置文件中的UsePAM
- 上面步骤过程
- 测试
- 自己可以ssh自己了
- 工具也可以正常连接了
- 别的服务器ssh自己【必看】
说明
-
我的一台虚拟机IP是:
192.168.59.133
出问题了,任何服务器使用任何用户ssh均报错,甚至连自己都不能ssh自己。 -
也不能使用任何工具连接上该服务器,报错如下
-
ssh报错如下
任何服务器ssh报错内容均一样:报错内容均为:Permission denied, please try again.
包括我使用ssh连接自己的127.0.0.1
和localhost
都权限拒绝错误的,就tm离谱。
-
/etc/ssh/sshd_config
配置文件中
密码登陆是开启的
root登陆也是开启的
-
sshd服务也是正常开启的
进程也是监听的
-
用户切换是正常的
报错日志内容查看
secure日志查看【知道就行】
该日志是记录登陆信息的,但只会记录登陆成功的,登陆失败的并不会被记录,所以看这个日志没意义。pass
messages日志查看【这里面有记录】
- 这里面记录了ssh的报错内容,我们可以动态查看
准备条件如下
- 报错内容如下
根据下图可以看到,messages日志报错内容为:error:Could not get shadow information for root
【用什么用户登陆,root就会变成相应的内容】
处理方法
key文件删除
- 删掉或用mv重命名下面三个文件【建议mv重命名】
/etc/ssh/ssh_host_rsa_key
/etc/ssh/ssh_host_dsa_key
/etc/ssh/ssh_host_ecdsa_key
上面做完再次ssh登陆测试
如果还是不行在做下面操作【此时messages日志报错内容和未修改前一致】
修改配置文件中的UsePAM
- 修改
/etc/ssh/sshd_config
文件
里面有一个UsePAM
选项,把前面的#
去掉,然后把no
改为yes
重启服务即可:systemctl restart sshd
上面步骤过程
测试
自己可以ssh自己了
工具也可以正常连接了
别的服务器ssh自己【必看】
-
此时别的服务器ssh自己,会发现报错了,下面报错其实就是因为ssh的公钥信息改变了,需要去把之前记录的ssh公钥信息给删掉就可以了
-
处理方法
vim ~/.ssh/known_hosts
在这配置文件里面删掉 ssh的ip项
-
再次ssh连接
[root@centso76_1 ~]# cat ~/.ssh/known_hosts # 已经删了
[root@centso76_1 ~]# ssh 192.168.59.133 #相当于初次连接,所以需要输入yes
The authenticity of host '192.168.59.133 (192.168.59.133)' can't be established.
ECDSA key fingerprint is SHA256:bPZ7dCjwTPFF8GCUiRl1aGuCqqD/GrvliccxXRRvqj8.
ECDSA key fingerprint is MD5:18:3d:cc:6f:af:3b:f9:38:a4:e2:b4:00:c0:9b:67:d2.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.59.133' (ECDSA) to the list of known hosts.
Password: #输入密码,登陆成功,故障解决。
Last login: Wed Jun 2 11:24:38 2021
[root@controll ~]#