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

本文介绍了两种在集群环境中实现无密码访问的方法,包括针对普通用户和root用户的配置步骤。对于普通用户,主要涉及ssh-keygen密钥生成、authorized_keys整合;对于root用户,除了密钥生成,还需在所有节点间同步authorized_keys文件,以实现全集群无密码访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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


集群无密码访问是搭建集群进行分布式以及并行计算的基础,本文将提供两种设置方法,第一种是针对普通用户的设置方法,第二种是针对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节点






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值