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即可)
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即可)
相关文章推荐
- Linux上实现ssh免密码登陆远程服务器 推荐
- SSH免密码登陆远程服务器配置
- 怎样用一台本地主机ssh免密码登陆多台远程服务器
- 解决root用户ssh配置无密码登陆/hadoop用户照仿可以实现相同功能:hadoop用户登录并且把命令的所有root换成home/hadoop
- centos下的hadoop集群实现ssh的无密码登陆
- 通过ssh实现远程登陆服务器!
- SSH远程登陆服务器要很久才出现输入密码界面怎么办
- SSH免密码登陆远程服务器
- 图解如何实现SSH无密码远程登陆
- linux下 ssh 实现无需密码的远程登陆
- 本地 ssh登陆远程服务器不用每次输入密码的方法
- Mac系统下实现无密码ssh登陆服务器
- 菜鸟Linux系列:[4]SSH免密码登陆远程服务器
- ssh-keygen 实现免密码登录远程服务器
- Mac无密码SSH登陆远程服务器
- 通过密钥来实现无密码远程SSH登陆和自动同步
- SSH免密码登陆远程服务器
- ssh免密码登陆远程服务器
- 使用expect实现ssh不输入密码登录远程服务器
- 使用SSH证书(不要密码)登陆远程服务器