亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于hadoop ssh免密碼登錄

今天在学习hadoop的时候碰到一个想不通的问题,就是免登录的原理以及配置,下面给大家分享下我的理解

1 主服务器:

修改主机名,并且加入本机的主机名和从服务器的主机名的host解析

[root@hadoop ~]# more /etc/hosts
127.0.0.1   localhost.localdomain localhost localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
masterip hadoop.master //masterip主服务器IP
slaveip hadoop.slave  //slaveip从服务器IP


[root@hadoop ~]# more /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hadoop.master

reboot重启系统

从服务器:

修改主机名,并且加入本机的主机名和从服务器的主机名的host解析

[root@hadoop ~]# more /etc/hosts
127.0.0.1   localhost.localdomain localhost localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
masterip hadoop.master //masterip主服务器IP
slaveip hadoop.slave  //slaveip从服务器IP


[root@hadoop ~]# more /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hadoop.slave

reboot重启从服务器


ssh测试

主服务器用命令

ssh [email protected]测试,如果有提示输入密码,表明能解析到从服务器的主机名,如果没有安装ssh,可以用命令

yum list | grep ssh先查看ssh client的版本,

然后用命令yum -y install openssh-clients-5.3p1-123.el6_9.x86_64安装对应版本的ssh clients


2主服务器配置公钥和密钥用于免密码登录

主服务器

[root@hadoop ~]#ssh-keygen -t rsa

摁下回车之后会有一堆提示,接着敲回车知道完成就可以了,最后会屏幕会显示一堆指纹之类的东西

id_rsa是私钥,id_rsa.pub是公钥,将生成的公钥复制到authorized_keys中,authorized_keys用于认证

[root@hadoop ~]#cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

复制公钥到从服务器,替换掉从服务器的认证文件

 ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

!注意这里复制一定建议用ssh-copy-id来复制公钥,我之前试过用scp来复制,结果发觉服务器重启之后再次连接要输入密码

第一次连接从服务器

ssh hadoop.slave
The authenticity of host 'hadoop.slave (210.72.3.225)' can't be established.
RSA key fingerprint is 5e:84:cf:22:61:2c:e7:f3:69:1d:92:fe:a8:65:95:30.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'hadoop.slave,210.72.3.225' (RSA) to the list of known hosts.
Last login: Fri May 11 16:00:41 2018 from hadoop.slave

发觉已经不用输入密码就可以登录了

接下来说下这个公钥私钥解密的过程:

1主服务器向从服务器发送连接请求

2从服务器收到请求之后,在authorized_key中查找,authorized_key里面存放的是主服务器的公钥,那么会用主服务器的公钥进行加密,并且将其发送给主服务器

3主服务器收到加密信息后,用自己的私钥对其进行解密,将解密的数字发送给从服务器

4由于从服务器存放的是主服务器对应的公钥,因此和主服务器的解密的字符串一定是想吻合的,这样子就实现了免密码登录

这就是为什么公钥要用来加密,而只有私钥能用来解密,从服务器得到了公钥只要将其加密的功能,而主服务器有对应的私钥,所以只有主服务器才有解密验证的功能


原文出处

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消