集群无密码访问的两种方法

来源:互联网 发布:费玉清网络综艺节目 编辑:程序博客网 时间:2024/05/29 18:34

集群无密码访问的两种方法


集群无密码访问是搭建集群进行分布式以及并行计算的基础,本文将提供两种设置方法,第一种是针对普通用户的设置方法,第二种是针对root用户的设置方法。


第一种:普通用户

因为普通用户只能访问集群,而不能配置集群,或者改变集群选项等,因此为了安全性,我们应该对普通用户单独设置集群的无密码访问,这种设置也是很简单的。


以下我以cluster用户名为例


步骤一:首先在主节点的Terminal终端上,用该用户在用户主目录下执行:ssh-keygen -t rsa,生成密匙


步骤二:切换至~/.ssh/目录下,将密码公匙写入authorized_keys,通过执行:cat id_rsa.pub >> authorized_keys


步骤三:切换至root用户,我们将集群上各个节点下cluster账户的主目录都mount到主节点下的cluster账户目录

该步骤,如果集群很大的话,我们可以通过写一个shell脚本执行,以下是我搭建的集群的执行脚本



执行上述程序,cluster账户便可以无密码访问集群了。但是这有一个缺点,就是每次当集群宕机重启后,我们不得不重新执行上述程序来保证cluster账户的无密码访问,我认为这也是针对普通用户一种比较安全的做法。


以上程序,如果root用户的无密码访问没有提前设置的话,那么执行上述程序的时候,总是提示要输入root用户的密码,对于大集群而言,这显然是无法忍受的。因此,以下是针对root账户的无密码访问配置


第二种:root用户


针对root的无密码访问配置稍微麻烦一些,但目前来看这是必须的。


步骤一:在每台机的root账户目录下执行ssh-keygen -t rsa,生成密匙并将密码公匙写入authorized_keys,通过执行:cat id_rsa.pub >> authorized_keys


步骤二:将所有slave节点的root账户.ssh/目录下的authorized_keys发送到主节点(PS:这期间,由于未配置好无密码访问,只能一个个输入root密码了)


我搭建的集群收集到的authorized_keys列表如下:


步骤三:在Master节点,将所有slave节点发送过来的authorized_keys都添加到本机的authorized_keys文件中


步骤四:然后将本机节点下的authorized_keys文件发送给各个slave节点


此后,各个节点的root账户都可以无密码访问了,而且此后配置各普通用户时,我们都可以写一个shell脚本,然后用root执行即可。

比如,我们将主机上配置好的hosts文件发送给各个slave节点






0 0
原创粉丝点击