Centos7配置ssh、rsh免密互信集群服务
ssh免密互信操作
一、在SSH服务器所在机器上
1、以root用户登录,更改ssh配置文件 /etc/ssh/sshd_config,去除以下配置的注释
RSAAuthentication yes #启用rsa认证
PubkeyAuthentication yes #启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys #公钥文件路径
2、重启SSH服务
[root@server /]#systemctl restart sshd //重启ssh服务
二、在客户端机器上
1、生成公钥私钥对
[root@client /]#ssh-keygen -t rsa
一路默认回车,系统在/root/.ssh下生成id_rsa、id_rsa.pub
2、把id_rsa.pub发送到服务端机器上
[root@client /]#ssh-copy-id -i /root/.ssh/id_rsa.pub192.168.1.20#server ip
注意:这里删除线字体为你自己想要ssh的IB
三、重复上述所有步骤
例如我有17个节点,依次将每个节点的root分别进行上述步骤,循环一次即可全部ssh通
四、验证
[root@client /]#ssh 192.168.1.20#server ip
注意:这里删除线字体为你自己想要ssh的IB
rsh免密互信操作
一、安装rsh服务
yum install -y rsh rsh-server
yum install -y xinetd
二、在/etc/xinetd.d/下分别添加rsh,rlogin,rexec文件(如果没有,则创建)
vi /etc/xinetd.d
vi /etc/rlogin
vi /etc/rexec
rsh
service shell {
disable = no
socket_type = stream
wait = no
user = root
log_on_success += USERID
log_on_failure += USERID
server = /usr/sbin/in.rshd
}
rlogin
service login {
disable = no
socket_type = stream
wait = no
user = root
log_on_success += USERID
log_on_failure += USERID
server = /usr/sbin/in.rlogind
}
rexec
service exec {
disable = no
socket_type = stream
wait = no
user = root
log_on_success += USERID
log_on_failure += USERID
server = /usr/sbin/in.rexecd
}
三、在/etc/securetty文件下添加rsh,rlogin,rexec这三行
之后在命令行输入
echo "rsh" >> /etc/securetty
echo "rlogin" >> /etc/securetty
echo "rexec" >> /etc/securetty
四、在/etc/hosts.equiv下添加各个节点名称(如果没有,则创建)
[root@newnode1 Desktop]# cat /etc/hosts.equiv
node29
node30
node31
node32
node33
node34
newnode1
五、root用户需要在/root/下创建.rhosts文件,文件内容与/etc/hosts.equiv相同
六、启动服务
systemctl restart rsh.socket
systemctl restart rlogin.socket
systemctl restart rexec.socket
systemctl enable rsh.socket
systemctl enable rlogin.socket
systemctl enable rexec.socket
七、启动xinetd
systemctl restart xinetd
注意:如果进行多节点之间rsh互信配置,各节点root下均需要上述rsh所有步骤
最后,再次感谢这些作者,引用:
Linux之间配置SSH互信(SSH免密码登录)https://www.cnblogs.com/jytx/p/7272860.html
Linux专栏——Centos7.5配置集群rsh服务https://juejin.cn/post/6844904054162718733