CentOS系统SSH免密后依然需要输入密码(已解决)

1、问题

通过ssh-keygen -t rsa和ssh-copy-id -i node1操作后,免密登录依然需要输入密码。

[root@node1 ~]# ssh node1
The authenticity of host 'node1 (192.168.1.160)' can't be established.
ECDSA key fingerprint is SHA256:CzXPsWonK4Fxx8mQpRHXL1K8R8eqyQr+Zn95HGS8zQ4.
ECDSA key fingerprint is MD5:61:95:b5:57:d3:bb:d0:9d:bf:9c:e1:d4:40:4f:07:d6.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'node1,192.168.1.160' (ECDSA) to the list of known hosts.
root@node1's password: 

2、原因与解决办法

一般来讲失败的原因有两个:目录文件的权限和目录的属主。 (1)目录文件的权限 .ssh父目录的权限是755(我的是/root),.ssh目录权限是700,authorized_keys文件 600

[root@node1 ~]# chmod 755 /root
[root@node1 ~]# chmod 700 .ssh
[root@node1 ~]# chmod 600 .ssh/authorized_keys

(2)目录的属主 如果上面方法还没有解决问题,那可能是.ssh父目录的属主存在问题。

[root@node1 ~]# ls -al .ssh
total 12
drwx------   2 root root    80 Nov  3 10:07 .
drwxr-xr-x. 11 hdfs users 4096 Nov  3 09:38 ..
-rw-------   1 root root     0 Nov  3 10:06 authorized_keys
-rw-------   1 root root  1679 Nov  3 09:38 id_rsa
-rw-r--r--   1 root root   390 Nov  3 09:38 id_rsa.pub
-rw-r--r--   1 root root     0 Nov  3 10:07 known_hosts

这里发现.ssh父目录(..)的属主存在问题。

修改如下

[root@node1 ~]# chown root:root /root
[root@node1 ~]# ls -al .ssh
total 16
drwx------   2 root root   80 Nov  3 10:07 .
drwxr-xr-x. 11 root root 4096 Nov  3 09:38 ..
-rw-------   1 root root 1135 Nov  3 10:11 authorized_keys
-rw-------   1 root root 1679 Nov  3 09:38 id_rsa
-rw-r--r--   1 root root  390 Nov  3 09:38 id_rsa.pub
-rw-r--r--   1 root root    0 Nov  3 10:07 known_hosts
[root@node1 ~]# 

3、验证

[root@node2 ~]# ssh-copy-id -i node1
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@node1's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'node1'"
and check to make sure that only the key(s) you wanted were added.

[root@node2 ~]# ssh node1
Last login: Fri Nov  3 10:04:03 2017 from hadron
[root@node1 ~]# 

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏互联网杂技

Linux常用命令大全

系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecod...

2647
来自专栏Hadoop实操

如何在Windows Server2008搭建DNS服务并配置泛域名解析

有了DNS服务,对于一个CDH集群的所有节点的hostname和ip,您就再也不需要手动维护各个节点的hosts文件。另外DNS服务对于在CDH上安装或集成Ke...

3535
来自专栏烂笔头

SSDB图形界面管理工具:phpssdbadmin安装部署

目录[-] 环境: 14.04.1-Ubuntu 1、安装Nginx apt-get install nginx ubantu安装完Nginx后,文件...

3495
来自专栏视觉求索无尽也

【github】快速使用指南基本操作高阶技巧ToDo参考资料

http://img.blog.csdn.net/20140717215453576

671
来自专栏运维小白

解决开启vmware虚拟机后,出现“该

在使用VMware虚拟机的时候,有时会发现打开虚拟机时提示“该虚拟机似乎正在使用中。如果该虚拟机未在使用,请按“获取所有权(T)”按钮获取它的所有权。否则,请...

18910
来自专栏androidBlog

Git 配置别名 —— 让命令变得更简单

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gdutxiaoxu/article/de...

401
来自专栏互联网开发者交流社区

Oracle-操作

934
来自专栏林德熙的博客

安装 pip

首先用VisualStudio安装Python然后使用下面的代码可以获得安装的 Python 的路径

422
来自专栏前端说吧

Fiddler - 工具配置及在ios抓取不了https的解决方法

3356
来自专栏北京马哥教育

手把手教你用jumpserver搭建堡垒机!

? 作者:my_bai 来源: http://blog.csdn.net/my_bai/article/details/62226474 首先,jumps...

4817

扫码关注云+社区