CentOS6.5设置完SSH免密码登录之后仍然要求输入密码的问题
搭了3台CentOS6.5的虚拟机:centos1、centos2、centos3。为了操作方便,准备设置这3台机器之间可以能过SSH免密码登录。SSH免密码登录的设置如下:SSH免密码登录设置:1、3台机器生成密钥:ssh-keygen -t rsa -P ""执行上面的命令,一直回车就可以。一般情况下,在用户的根目录下的.ssh目录下会生成私钥和公钥文件。2、cen
·
搭了3台CentOS6.5的虚拟机:centos1、centos2、centos3。为了操作方便,准备设置这3台机器之间可以能过SSH免密码登录。SSH免密码登录的设置如下:
SSH免密码登录设置:
1、3台机器生成密钥:
ssh-keygen -t rsa -P ""
执行上面的命令,一直回车就可以。一般情况下,在用户的根目录下的.ssh目录下会生成私钥和公钥文件。
2、centos1机器上执行,设置免密码登录验证文件:
cat /root/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
将本机的公钥写入到验证文件中。
3、测试一下本机是否可以免密码登录:
ssh localhost #测试免密码登录本机
问题描述:
然后,问题就来了,仍然需要我提供密码才能登录,这不科学,因为以上步骤我在Ubuntu系统下用过,是成功的。而且,以上步骤我也在公司的服务器(CentOS6.5)上用过,也是成功的。
在网上找了很久,试过好多方法,最后问题解决了,现在将解决方法梳理的结果记录下来,希望能帮到和我一样遇到这问题的朋友。
解决方法:
1、修改SSH的相关配置,启动密钥登录及设置验证文件路径:
vi /etc/ssh/sshd_config
将下面的内容放开,也就是去掉注释。
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
其实我觉得这一步,并不重要,因为去掉的这些注释本身就是默认值。但是我是先这样做的,并没有进一步验证这一步是否必须。这一步可以不做,直接跳到下一步,如果下一步没解决问题,那么再来完成这一步的设置。因为步骤没有先后顺序。
2、修改安全配置,centos6.5对网络管理相当严格,需要在原来的基础上关闭selinux。
vi /etc/selinux/config
修改内容如下:
把SELINUX=enforcing修改为SELINUX=disabled
这一步完成后,问题就解决得妥妥的。
更多推荐
已为社区贡献3条内容
所有评论(0)