您的位置:首页 > 运维架构

Hadoop ssh实现远程服务器免密码登陆

2016-12-27 22:29 337 查看
背景:

hadoop集群服务器实现ssh免密码登陆的好处本质就是简化hadoop集群内部服务器之间的数据通信,如果hadoop设置数据块备份两次,两个dataNode节点之间通过ssh进行数据传输还需要输入ssh的登陆密码,hadoop集群服务器的数量少还可以手工操作,要是像百度这样的hadoop集群,维护这样的庞大的系统的工作人员肯定都想死的。

解决办法:

linux提供一种ssh验证机制,只要将访问本机的远程服务器的ssh密钥对中的公钥存入本机的authorized_keys文件中,当远程服务器再次通过通过ssh访问本机时,linux会检测对方的传过来的公钥,然后与本机的authorized_keys进行对比,如果一致则无需输入密码则可以自动连接

实验条件:3台linux主机

操作步骤:

①:生成ssh的密钥对:(.ssh为隐藏文件,直接cd切换进去即可)

进入linux用户目录输入:ssh-keygen -t rsa,ssh密钥生成程序自动常见.ssh的目录,里面存放密钥对。

id_rsa :私钥

id_rsa.pub :公钥

②:创建authorized_keys文件,将3台服务器的生成的公钥存放在一起

cp id_rsa.pub authorized_keys

③:通过ssh获取其他主机的公钥

scp squirrel@192.168.174.143:/home/squirrel/.ssh/id_rsa.pub ../Downloads/

④:合并其他主机的公钥信息到authorized_keys(重定向追加字符)

cat ../Downloads/id_rsa.pub >> authorized_keys

⑤:每台服务器都获取合并每台服务器公钥信息的authorized_keys,并放在.ssh的目录下

authorized_keys包含的三个节点公钥内容:

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA3RQGJVq3afiQHot4JsrifyGb/4n0lGbIcjmy9/P3T47WotyNH3PEYh9Sog+YIPTkmo/IQcyaNFJA/MK73vzE1XBj7hZn/SJ+rZnwYU2Z6t3NRX/+W3fLQCj8MnxcXihNRgVB16e000ePrbyueNmpc47S3wAnetwI17oowJm/1C+7u72yNQFnIxgPpQw2mzC/8N7mf+mBG3bbIhtOivezq5DH7w3AB9QhSqjCxqpMsrW8U7Y4WiV3Rz5Za/iTEcNjVnsABQJrNr3cUuAg89Nw2jexUfn4raRssxHT0jjrUJv/+Q0No08k4ydnfHMFE0D7rNLIRYkJRDoH1lLo2yMvfw== squirrel@localhost.localdomain

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxklwLamVISPo133ItggxUTk4UupEbWzkV5t0pnREbQe8As7R52muq5VVGbFTWDqVyS++ITO2ZKZfbdL8uB7jY9CYg1HQrwUr+/QF3l7ZTqbe1w0q16rSQw12TgHFc/WpR+wNLv4t6Ov0Zpp5mKYNDQiMhtZCAE0UOS/1h9g9l29T28CUr9c36tcyogpsFbKIKl+EDUsPBDHTuTsdAHfykzVKDCRsq7W9WRh3HnDJFzuV/lXYgOyNteFQ0jclbT6SJPjuOMzqEAvARx6cBhTcXttS/YV/cz0GyCAUblG5PPimhD2mAOxIQZWx8vnETy4pW2cBNz4zoy26qqU0WdkbeQ== squirrel@localhost.localdomain

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA1jP5pP3MVxy3NX7vbkWBByenV/KRUXIAFaa0cf1w8eG9I+Kwx4QT+XO4lvHml7ZACLhDHugJSiR/I2eX0nIDninRSW4Zrp1/2upJ9XTVhrfVfHIu7SnZSU+sunxQ4VrY4O2JLuT8gd8NfncNCpmGmThTaceLxAuiaMtARRGq+c3R+QKn0cDImk3LHompEbq91VobIWixh0pnMHpDgFd1KRu60paKEiIidcEykX/GS1yUKqOMhAfnY/lnPQ8OgGE2vp1v/tGUi0AHltrXn79XoDHtRYhaXQlKGfe4iCv4WadzdDHsGHyJdeeR79KDMdLFK2gEQ5gLXcrlsV9iu9/V2Q== squirrel@localhost.localdomain

测试:(免密连接)

ssh 192.168.174.143(节点服务器IP或主机名),免密登陆。

(退出ssh连接:控制台输入exit即可)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息