一、.ssh 文件夹

[root@centos8 ~]#ll .ssh/
total 16
-rw------- 1 root root  405 May 19 18:46 authorized_keys
-rw------- 1 root root 2610 Apr 28  2021 id_rsa
-rw-r--r-- 1 root root  577 Apr 28  2021 id_rsa.pub
-rw-r--r-- 1 root root  171 May 19 18:35 known_hosts

1.id_rsa(私钥)

 服务器上经过rsa算法生成的私钥,与公钥是一对的密钥对,用于连接其他服务器用

2.id_rsa.pub(公钥)

服务器上经过rsa算法生成的公钥。与私钥是一对的密钥对,用于连接其他服务器用。

将主机A的id_rsa.pub内容copy到B主机的authorized_keys文件中,这样A主机就能不通过密码连接到B主机。

3. known_hosts

ssh会把你每个你访问的主机的公钥(public key,也可说记录的是访问主机的指纹)都记录在~/.ssh/known_hosts。当下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同,OpenSSH会发出警告, 避免你受到DNS Hijack之类的攻击。

4.authorized_keys(授权文件)

这个文件主要是允许哪个主机免密访问本机,就会把那个主机的公钥填到这个文件里面。

实现免密登录,即为授权文件,当把master的公钥添加到authorized_keys文件中后,下次连接直接输入ssh master即可免密登录,不需要再次输入密码。(我们本地可以自动生成公钥,将公钥输入到该文件中,本地就可无密码连接到该服务器,分布式集群时也会用到。)

1.单向

(1)登录A机器,输入ssh-keygen -t [rsa|dsa],将会生成密钥文件和私钥文件 id_rsa,id_rsa.pub或id_dsa,id_dsa.pub
(2)将 A的公钥复制到B机器 , 即在A上执行:

ssh-copy-id B_ip:

这样A就能免密登录B了。

2.双向

(1)登录A、B主机,输入ssh-keygen -t rsa,全部回车,采用默认值。
(2)将~/.ssh目录下生成的公钥分别写入到对方主机的authorized_keys中。
  这样A、B之间就可以不通过密码连接对方主机。

Logo

更多推荐