linux 互信配置

公钥认证的基本思想:安全

对信息的加密和解密采用不一样的key,这对key分别称做private key和public key,其中,public key存放在欲登陆的服务器上,而private key为特定的客户机所持有。当客户机向服务器发出创建安全链接的请求时,首先发送本身的public key,若是这个public key是被服务器所容许的,服务器就发送一个通过public key加密的随机数据给客户机,这个数据只能经过private key解密,客户机将解密后的信息发还给服务器,服务器验证正确后即确认客户机是可信任的,从而创建起一条安全的信息通道。经过这种方式,客户机不须要向外发送本身的身份标志“private key”便可达到校验的目的,而且private key是不能经过public key反向推断出来的。这避免了网络窃听可能形成的密码泄露。客户机须要当心的保存本身的private key,以避免被其余人窃取,一旦这样的事情发生,就须要各服务器更换受信的public key列表。服务器

 

 

 

配置ssh互信的步骤以下:网络

    1. 首先,在要配置互信的机器上,生成各自的通过认证的key文件;ssh

    2. 其次,将全部的key文件汇总到一个总的认证文件中;加密

    3. 将这个包含了全部互信机器认证key的认证文件,分发到各个机器中去;spa

    4. 验证互信。rest

 

在主机名为dscn1,dscn2,dscn3上以相同的用户hadmin建立ssh互信。it

 

1) 生成公钥集群

$> ssh-keygen –t rsa登录

         遇到提示均回车肯定

         出现相似该图的输出时,公钥生成成功

         $> ssh dscn2

         以主机名dscn2为例,远程登录至集群中另外一节点,重复上述步骤生成公钥

         $> exit      退出远程登录

 

         重复执行至全部节点成功生成公钥

2) 生成私钥

         如下操做都在同一节点中执行(以dscn1为例)

         $> cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys       将dscn2的公钥放入dscn1的私钥中

         $> chmod 600 ~/.ssh/authorized_keys                                改变其权限

        

         $> ssh dscn2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

         以主机名dscn2为例,将dscn2的公钥放入dscn1的私钥中

        

         重复执行,将全部节点的公钥都添加至dscn1的私钥中

 

3) 复制私钥及known_hosts文件

         如下操做都在同一节点中执行(以dscn1为例)

$>ssh dscn1

         将本机也加入到known_hosts文件中

$> scp ~/.ssh/authorized_keys dscn2:~/.ssh/authorized_keys

$> scp ~/.ssh/known_hosts dscn2:~/.ssh/known_hosts

         将dscn1的私钥及known_hosts文件拷贝至节点dscn2

         重复执行,将dscn2的私钥及known_hosts文件拷贝至其余全部节点

4) 重启服务并验证

前面三个步骤在root和hadmin都执行过一次以后,此步骤只须要在root用户下执行一次

         $> systemctl restart sshd.service

         $> ssh dscn2 service sshd restart

         全部节点的sshd均须要重启

        

         尝试:

$> ssh dscn2

无密码便可直接登陆,则配置成功

相关文章
相关标签/搜索