为什么要实现多台机器ssh免密?
配置分布式集群时, 不同的节点靠ssh互相通信,如果不配置免密, 无法完成通信。
多台机器ssh免密原理:
在每台机器的认证授信文件中, 都有其他机器(包括自己)的公钥。
假设有三台机器 (hostname如下)
hadoop000
hadoop001
hadoop002
ssh-keygen
可用来生成ssh公钥认证所需的公钥和私钥文件。可以通过-t指定加密类型。 加密类型有 : dsa ,rsa 。默认是rsa加密。
ssh-keygen
会在各自的~/.ssh下生成两个文件:
id_rsa 私钥
id_rsa.pub 公钥
ssh-copy-id 命令
功能:将你的公钥填充到一个远程机器上的authorized_keys文件中。
authorized_keys是认证授信文件
使用模式:
ssh-copy-id [-i [identity_file]] [user@]machine
配置步骤:
1)在三台机器上运行ssh-keygen (回车到底)
2)以hadoop000为主, 在hadoop000上运行
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop000
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop001
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop002
3)检查权限,
authorized_keys应该是600,.ssh应该是700
4)验证: ssh hadoop000/hadoop001/hadoop002