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所有步骤

留下评论