linux服务器间配置ssh免密连接

 先说一下,我用的centos7,root用户。ssh的原理就不说了,网上介绍的文章很多,直接开始说操作步骤吧:

1.首先确认有没有安装ssh,输入 rpm -qa |grep ssh查看

这样就表示安装了ssh,没有的话就先安装ssh

2.关闭防火墙

首先查看防火墙的状态,运行 systemctl status firewalld.service

由于我这里已经关闭了防火墙,所以线框中的状态Active位inactive状态,开启状态下为running。永久关闭防火墙、禁止开机自启动的指令为 systemctl disable firewalld.service(centos7下是该指令,其它系统可能有所区别),关闭之后可以再重新查看一下防火墙状态,看是否关闭成功。

3.配置静态IP

        一般集群中每个服务器都会分配固定的IP地址,这样连接比较方便。配置静态IP时,首先查看服务器的网卡类型,执行命令:ls  /etc/sysconfig/network-scripts,出现如下

可以看到网卡类型为ens33(这个每个人可能不同),然后编辑ifcfg_ens33文件,执行vim  /etc/sysconfig/network-scripts/ifcfg-ens33 ,在配置文件种需要作如下修改(红色方框内位修改后的结果),

由于我测试时用的是局域网,因为DNS服务器地址随便用了一个。

键盘esc+shift+enter,然后输入wq保存文件并退出,然后重启网络 service network restart,这样静态IP地址就配置完成了。

4.修改/etc/hosts文件

    为了每次使用shh指令连接别的主机时不用输入ip地址,可以在host文件中把主机名和ip地址进行映射,这样比较方便。打开host文件 vim /etc/hosts,在文件末尾添加ip与主机名的映射

  

我这里创建了一个master,两个slave

5.生成公匙、私匙,并移动公匙

    以我自己的机器为例,假设我需要配置master连接slave1。首先在master机器上生成公匙和私匙,输入ssh-keygen -t rsa,一直回车即可,结果如下

该指令在~/.ssh目录下生成了公钥(id_rsa.pub)和私钥(id_rsa),可以进入该目录下查看 cd ~/.ssh,然后输入指令ls。登陆slave1主机,同样的先在slave1上生成公匙和密匙,执行ssh-keygen -t rsa,一路回车,进入/.ssh目录下,创建authorized_keys文件,然后先把本机slave1的公匙写入到该文件中,cat  ~/.ssh/id_rsa_pub authorized_keys,接下来需要把masterd的公匙复制到slave1上,先把master的公匙随便复制到一个地方,例如/usr下,执行如下指令:scp   root@192.168.0.158:~/.ssh/id_rsa.pub  /usr ,此过程需要输入master上root用户的密码,然后把master的公匙写入到authorized_keys的末尾

cat  /usr/id_rsa_pub  ~/.ssh/authorized_keys,保存并退出文件。

6.修改文件权限

chomd 700 ~/.ssh

chomd 600 ~/.ssh/authorized_keys

 

到此,shh的免密登陆配置完成,可以在master上通过ssh slave1连接slave1主机了。

 

     

 

posted @ 2019-06-24 20:49  hgz_dm  阅读(1950)  评论(0编辑  收藏  举报