hadoop再次集群搭建(2)-配置免秘钥ssh登录
jopen
9年前
SSH对于大多程序员都不陌生,目前主流的云服务提供上也是通过SSH来提供链接的安全保障,比如AWS通过使用下载的私钥(private key)实现与EC2实例安全连接、GitHub通过上传的公钥(public key)实现基于git协议(底层使用SSH)远程库管理。
SSH(Secure Shell)是一个提供数据通信安全、远程登录、远程指令执行等功能的安全网络协议,由芬兰赫尔辛基大学研究员Tatu Ylönen,于1995年提出,其目的是用于替代非安全的Telnet、rsh、rexec等远程Shell协议。之后SSH发展了两个大版本SSH-1和SSH-2。
从客户端来看,SSH提供两种级别的安全验证。
第一种级别(基于口令的安全验证)只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。
第二种级别(基于密匙的安全验证)需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在你在该服务器的家目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。
用这种方式,你必须知道自己密匙的口令。但是,与第一种级别相比,第二种级别不需要在网络上传送口令。
有关详细的介绍,可以参考wiki:https://en.wikipedia.org/wiki/Secure_Shell
我们这里需要对第二种进行配置。
1. 免秘钥
创建hadoop用户和用户组,
创建hadoop用户和用户组,
节点名称 | IP1 | IP2 | 备注 |
node1.com | 192.168.122.128 | 动态联网 | root/123456 hadoop/hadoop |
node2.com | 192.168.122.129 | 动态联网 | root/123456 hadoop/hadoop |
node3.com | 192.168.122.130 | 动态联网 | root/123456 hadoop/hadoop |
使用hadoop用户,命令如下
ssh-keygen -t rsa 生成rsa加密的密钥
cp id_rsa.pub authorized_keys copy文件
cat id_rsa.pub>>authorized_keys 将其他的秘钥追加到这一个文件中,然后分发给所有机器
ssh-keygen -t rsa 生成rsa加密的密钥
cp id_rsa.pub authorized_keys copy文件
cat id_rsa.pub>>authorized_keys 将其他的秘钥追加到这一个文件中,然后分发给所有机器
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxOUxs3C8xul4iqadE5nfEG8+9lURvGk8o7Z1Ef1cZ3PJBXPPi7/zNUxiL2iD93SMHMwmN6ZaUy9myLCPmyA1oCpOyjzyBQQv0ONk2QkWNytvYaF4KQx3OjF3L1o/YwAbppMzuofX+iBT36IYeRuF/86w6VwRtfCQ/8s6+h84RCAwhdLtopksrtY3v/03UMFaZ1F/GTmQeralSQWuhSbLXgYEhqoPr+AhI/B04PvJA3Q1HTxKMKqll3GmzmvGxhWWpYmKDAJvgnJ5C3jpUMl7NSVMbz0mwzdqk8ao+lt1KYoyl9mwbbs0Al57MyfgftZdttnK1wsVAYnKlFyYJZinGw== hadoop@node1.com
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAzABdw8P91Ohgobpacj/OpTtt4WHdJrzVQPalUMAZUHoLZSfqtfqSVljpMhD8NmxYh2rHGLivA/pyLIrqEbTshkIyu1vlEDARry5cH02zv5xRQy1/npcLkdKOQbMvecbIO+wginFnedPBTs3Xw0J2XZZJf6G9ySLe2WQt4JW31QordOjfO2ZhQFYHB7icu22ReLB2unBfK9oyc2F+pbTENpe5/Ka5s0qMcX1d0XyVWqUo5F6cnrX/JoQ8xveO+DXJxGMvOZHQJPkfID8KT4mbZ7/kfo5ap9UH5AO4H6Sx9o8pMvZOid0m0kfdmiJ1PgS5kQiJxD1ITSQ7WNCglNTbWQ== hadoop@node2.com
</div> ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6jde660wUazvvRmld6eTD0gFpxIUMvn6eBv8KftjSPfN5KYRq3CugcAUyghq5GRkIyikbLugTzm2WiR3fAZEqZtDtGZk/s+CsryOfwrgrpyWsjU1ZScuKJtKXuo3ZlNB4FrpvxM1xJMd5A2lN3EDDi0JbkyDTajrEQb4+hNwQR+wv11EnjmPAPEJ5FCgM7JfyNC1hqzuht1MwCPyLNekwIuB+hgQaOh81WSY/U52DfKsvDQc0LeEaXxuEfSCFQYjY9VGDO92sHe0dUkGdmjxFiEd5JRObxnQQTMn9rHEcT9iTjruzAi811d3ropvkaGad4JjuJ49LCmmm/WcsmZlEw== hadoop@node3.com
</div> </div>
这样所有的机器都有一份授权的key,每一个机器访问的时候保证这台机器上的 authorized_keys 里面有访问者的pub key,通过验证。
接下来配置所有的hosts文件
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.122.128 node1.com
192.168.122.169 node2.com
192.168.122.130 node3.com
情况1: authorized_keys 权限过高:
chmod 600 authorized_keys
情况2: sshd_config </div>
配置成功之后:
Charles 于2015-12-17 Phnom Penh
</div>
版权说明:
本文由Charles Dong原创,本人支持开源以及免费有益的传播,反对商业化谋利。
CSDN博客:http://blog.csdn.net/mrcharles
</div> 个人站:http://blog.xingbod.cn
EMAIL:charles@xingbod.cn
</div> 来自: http://blog.csdn.net//mrcharles/article/details/50340001