Linux SSH双机互信
我们为什么要双机互信?
平时我们 ssh 一台机器的时候会要求输入密码,如果经常 ssh 某台机器,每次输入密码会比较麻烦。
如何实现双机互信
使用一种被称为 “公私钥” 认证的方式来进行 ssh 登录。”公私钥” 认证方式简单的解释是:
首先在客户端上创建一对公私钥(公钥文件:/.ssh/id_rsa.pub;私钥文件:/.ssh/id_rsa),然后把公钥放到服务器上(~/.ssh/authorized_keys),自己保留好私钥。当 ssh 登录时,ssh 程序会发送私钥去和服务器上的公钥做匹配。如果匹配成功就可以登录了
实验环境
系统:CentOS
1 | 192.168.10.2 node1 |
注意事项
需要那个用户可以双机互信,就得那个用户把创建公钥和私钥文件
下面实验默认是以 root 去做实验
第一步、查看环境是否真确
查看需要双机互信的用户下的 .ssh 文件夹是否存在,若不存在请创建。
1 | root# chown -R 0700 ~/.ssh |
第二步、生成用于 SSH 的公钥和私钥文件,需要互信的两台机器都要操作
1 | root# ssh-keygen -t rsa |
会提示输入:密钥存放位置(直接回车,默认在 /home/ifshow/.ssh/ 目录)、密码短语、重复密码短语。
完成后在 /root/.ssh/ 目录下生成了 2 个文件:id_rsa 为私钥,id_rsa.pub 为公钥。
第三步、导入公钥,两台机器都需要操作
该操作是要把 id_rsa.pub 文件中的内容添加到 authorized_keys 文件下,默认情况下 authorized_keys 文件是不存在的
node1 操作
1 | root# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys |
node2 操作
1 | root# cat ~/.ssh/authorized_keys_node1 >> ~/.ssh/authorized_keys |
第四步、重启 node1 与 node2 的 sshd 服务
1 | root# systemctl restart sshd |
第五步、测试 SSH
1 | root# ssh node1 |