基于DSA秘钥认证的集群节点免密码登录实现
2018-01-24 09:56
239 查看
场景:此篇基于hdfs完全分布式集群搭建(四个节点:xiaoku、xiaoku02、xiaoku03、xiaoku04),各节点之间需要做免密码登录,来完成集群自我管理的。同样也适用于其他任何类似情况。
这里会提示让你输入用户名和密码。不管是登录自己还是登录其他节点在没有配置的情况下,每次都需要验证。
登录自己之后,会在家目录下生成.ssh目录,目录下会生成一个文件
这个文件里保存着访问过这个节点的公钥。
执行完之后会生成两个文件
id_dsa里面存放的是私钥,id_dsa.pub里存放的是公钥,如果将id_dsa.pub中的公钥分发给指定节点就能够完成免密码登录。
登录时,authorized_keys中的公钥比对之后,完成登录操作。
下面基于hdfs来完成具体流程(其他任何类似情况同样适用):
1、主节点执行上述两步
2、三个从节点依次登录自己
8a83
3、将主节点中的id_dsa.pub文件拷贝到各节点
4、将公钥存入authorized_keys
5、测试结果
这样完成之后在启动hdfs集群时,namenode就能管理整个集群,起到自启secondarynamenode和datanode的目的。
一、为什么要免密码登录?
我们通过ssh远程执行命令时,必须要输入密码认证后才能执行操作流程,如果想要达到集群自我管理的目的,必须要做免密码登录。
二、登录自己
[root@xiaoku ~]# ssh localhost
这里会提示让你输入用户名和密码。不管是登录自己还是登录其他节点在没有配置的情况下,每次都需要验证。
登录自己之后,会在家目录下生成.ssh目录,目录下会生成一个文件
这个文件里保存着访问过这个节点的公钥。
三、设置免密码登录
[root@xiaoku ~]# ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 解释一下这个,-t后的dsa是加密方式,-P后的''指的是密码为空。
执行完之后会生成两个文件
id_dsa里面存放的是私钥,id_dsa.pub里存放的是公钥,如果将id_dsa.pub中的公钥分发给指定节点就能够完成免密码登录。
[root@xiaoku ~]# cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
登录时,authorized_keys中的公钥比对之后,完成登录操作。
下面基于hdfs来完成具体流程(其他任何类似情况同样适用):
1、主节点执行上述两步
2、三个从节点依次登录自己
目的是生成.ssh目录和known_hosts [root@xiaoku02 ~]# ssh localhost [root@xiaoku03 ~]# ssh localhost [root@xiaoku04 ~]# ssh localhost
8a83
3、将主节点中的id_dsa.pub文件拷贝到各节点
[root@xiaoku ~]# cd .ssh [root@xiaoku .ssh]# scp id_dsa.pub xiaoku02:~/xiaoku.pub [root@xiaoku .ssh]# scp id_dsa.pub xiaoku03:~/xiaoku.pub [root@xiaoku .ssh]# scp id_dsa.pub xiaoku04:~/xiaoku.pub 这时候还需要输入密码,完了之后会把公钥暂存到一个临时文件中,用主节点名称命名是为了便于区分,将来可能会有其他节点对该节点做免秘钥。
4、将公钥存入authorized_keys
[root@xiaoku02 ~]# cat xiaoku.pub >> ~/.ssh/authorized_keys [root@xiaoku03 ~]# cat xiaoku.pub >> ~/.ssh/authorized_keys [root@xiaoku04 ~]# cat xiaoku.pub >> ~/.ssh/authorized_keys
5、测试结果
这样完成之后在启动hdfs集群时,namenode就能管理整个集群,起到自启secondarynamenode和datanode的目的。
相关文章推荐
- Linux:实现Hadoop集群Master无密码登录(SSH)各个子节点
- 基于本地公钥认证实现ssh免密码登录
- Redis设置认证密码 Redis使用认证密码登录 在Redis集群中使用认证密码(转载)
- 定制微型linux实现启用虚拟终端基于帐号密码登录、提供ssh服务,提供Web服务
- 简单设计实现基于Forms认证的注册登录等用户基础服务
- 基于cron、rsync和ssh免密码登录实现Linux系统间自动同步~
- 如何实现共享软件网络授权认证,包括注册新用户、登录、修改密码等操作
- ssh免密码登录机器(使用公钥和秘钥进行加密来实现)
- ssh免密码登录机器(使用公钥和秘钥进行加密来实现)
- Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等
- Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等
- 基于SpringMVC实现登录认证的过程----subject.login(token)
- Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等
- 定制微型linux实现启用虚拟终端基于帐号密码登录、提供ssh服务,提供Web服务(下)附有命令移植脚本 推荐
- Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等
- Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等
- 研读《高可用多节点集群技术的研究和实现》-----基于投票的心跳模型
- 利用OpenSSH实现基于秘钥的认证
- Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等
- Spring Cloud服务注册中心双节点集群,使用Eureka实现,以IP方式配置,基于Spring Cloud的Camden SR5版本