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下的java开发环境

793
来自专栏专注研发

YARN的基础配置

添加:export JAVA_HOME=/opt/module/jdk1.8.0_144 

670
来自专栏我和PYTHON有个约会

nginx安装卸载操作1. nginx安装2. nginx卸载

直接访问nginx官方网站,下载适合windows系统的安装包,是一个压缩包,下载完成后解压即可使用。

761
来自专栏实战docker

制作mongodb的Docker镜像文件

在上一章《Docker下,极速体验mongodb》中,我们快速搭建了mongodb并在控制台做了基本的体验,当时用的镜像是官方发布在hub.docker.com...

2689
来自专栏偏前端工程师的驿站

Vim杂记:markdown插件

一、安装插件                                 从以下地址下载压缩包   github下载:https://github.com...

18610
来自专栏linux系统运维

php扩展模块安装

1414
来自专栏Hongten

python开发_tempfile

 如果你的应用程序需要一个临时文件来存储数据,但不需要同其他程序共享,那么tempfile模块来创建临时文件(夹)是个不错的选择

672
来自专栏liulun

在CentOS上搭建PHP服务器环境

 您也可以使用一键自动部署环境的工具,请参见网友开发的这个工具 http://www.centos.bz/2013/08/ezhttp-tutorial/ ...

2476
来自专栏Linyb极客之路

linux常用基本命令之权限处理命令

命令:chmod 语法:chmod [{ugo}{+-=}{rwx}] [文件或目录] chmod [mode=421] [文件目录] ...

3417
来自专栏程序员八阿哥

python中os.path 与sys.path

看别人写的代码,会发现两个和路径设置有关的模块 os 和sys。 python 中我们会使用这两个模块和文件路径, 创建文件 之类的 操作。 使用ubunt...

541

扫码关注云+社区