SSH免密码登录

SSH免密码登录

在搭建hadoop开发环境时,需要在集群中的机器之间配置ssh免密码登录。
现有三台服务器:master1、pc2、pc3,用户均为hadoop2。需要实现master1免密码登录pc2、pc3,master1免密码登录master1。

1、在服务器上生存公钥

用户hadoop2用户登录三台服务器,分别执行ssh-keygen -t rsa
这里写图片描述

这里写图片描述

这里写图片描述
执行之后会在用户的家目录下生成一个.ssh目录(ls命令是看不到的,要用ls -la),目录中保存的是ssh-keygen -t rsa命令生成的公钥id_rsa.pub和私钥id_rsa。
这里写图片描述

这里写图片描述

这里写图片描述

到这里第一步就完成了。

2、实现免密码登录其他服务器

  • 使用scp命令将master1的公钥id_rsa.pub复制到pc2、pc3的.ssh目录(如果当前hadoop2用户权限不够,可以使用root用户执行 scp /home/hadoop2/.ssh/id_rsa.pub hadoop2@pc2:/home/hadoop2/.ssh/master1.id_rsa)
  • 在pc2、pc3上将收到的master1的公钥添加到authorized_keys文件中

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述
在master1上用 ssh pc2 , ssh pc3命令,如果出现下面的界面就表示成功了
这里写图片描述

这里写图片描述
至此,将master1的公钥放到服务器pc2、pc3的authorized_keys中就可以显示免密码登录pc2、pc3。注意:此时pc2、pc3是不能免密码登录master1的,因为master1上并没有保存pc2、pc3的公钥。可见当一台服务器保存了其他服务器的公钥之后,前一台服务器就对后一台服务器开放了。

3、实现本机免密码登录

这里写图片描述
执行完这条命令后,在.ssh目录下会生成master1的公钥和私钥。
执行 cat .ssh/id_rsa.pub >> .ssh/authorized_keys命令,将公钥添加到本机的authorized_keys中。
这里写图片描述
验证是否成功 ssh master1,出现如下图界面表示成功
这里写图片描述

你可能感兴趣的:(hadoop,服务器,rsa,密码)