在学习大数据过程中遇到了一个小问题,
ssh 免密码登录~设置后仍需输密码
Namenode作为客户端,要实现无密码公钥认证,连接到datanode上时需要在namenode上生成一个密钥对,包括一个公钥和一个私钥,而后将公钥复制到datanode上;
当nameNode通过ssh连接到datanode时,datanode就会生成一个随机数并用namenode的公钥对随机数进行加密并发送给nameNode,namenode收到加密数值后,用私钥解密,并将解密数回传给datanode,datanode确认无误后就允许namenode进行连接了;
怎么操作呢?
- 首先进入ssh目录
[hadoop@node1 ~]$ cd ~/.ssh
[hadoop@node1 .ssh]$
生成密钥
ssh-keygen -t rsa
链接本地~仍然需要密码
我内心是拒绝的
原来authorized_keys 文件的权限不够
原来权限
-rw-r--r-- 1 hadoop hadoop 563 Mar 2 22:47 authorized_keys
-rw------- 1 hadoop hadoop 2590 Mar 2 22:47 id_rsa
-rw-r--r-- 1 hadoop hadoop 563 Mar 2 22:47 id_rsa.pub
切换权限
-rw------- 1 hadoop hadoop 563 Mar 2 22:47 authorized_keys
-rw------- 1 hadoop hadoop 2590 Mar 2 22:47 id_rsa
-rw-r--r-- 1 hadoop hadoop 563 Mar 2 22:47 id_rsa.pub
链接本地ls
如果还是无法实现免密登录,那么就看一下 .ssh文件夹的 访问权限
chmod 700 ./ssh
然后将authorized_keys文件夹的权限 改为 600
chmod 600 authorized_keys
这是因为ssh的加密机制导致权限必须是上层权限(700)大于下层权限(600)
实际也就是文件的可访问权限
原文地址:https://blog.csdn.net/weixin_54061333/article/details/129311021
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。