ssh免密配置失效

前言

配置jenkins需要设置ssh免密,在jenkins所在主机中生成id_rsa.pub后,将id_rsa.pub追加到想要免密登录主机的.ssh目录下的authorized_keys文件中,但添加完成后还是不能免密登录。

排除问题过程

1 保证用户的.ssh目录权限是700。

2 保证.ssh下的authorized_keys文件是600权限

3 查看selinux,保证selinux为disabled

4 查看/etc/ssh/sshd_config文件,定位到最后。

发现authorizedKeysFile文件指向的是.ssh/KHK75NEOiq,改为.ssh/authorized_keys

5 重启sshd服务

1
service sshd restart

再次尝试连接,不用密码就能登录了,问题解决。

后记

解决问题后去查了下之前sshd配置中的KHK75NEOiq文件,在.ssh的目录下存在,把这个文件删除。查了网上的资料是由于linux漏洞导致的这个问题,有以下几种方式可以提高linux服务器的安全性。

修改ssh端口

编辑/etc/ssh/sshd_config文件中的Port 22 将22修改为其他端口

禁止root用户登陆

编辑/etc/ssh/sshd_config文件中的PermitRootLogin 修改为no

修改无密码登陆的文件路径

编辑/etc/ssh/sshd_config文件中的AuthorizedKeysFile 修改为其他文件路径

参考资料

  1. 彻底清除Linux centos minerd木马
  2. linux下免密认证登录失败原因总结