ssh免密登陆验证原理以及两台Linux机器免密登陆扩展到多台机器免密登陆

一、免密登陆原理流程图

ssh免密登陆验证原理以及两台Linux机器免密登陆扩展到多台机器免密登陆_第1张图片

二、实现操作----在两台机器上分别生成公钥以及私钥

前提是需要已经安装了ssh。

1、在机器1上生成密钥,机器1:192.168.134.101:

执行一下命令生成公钥私钥

ssh-keygen -t  rsa

一路回车,如图

ssh免密登陆验证原理以及两台Linux机器免密登陆扩展到多台机器免密登陆_第2张图片
最终会在/root/.ssh/路径下生成两个文件,其中.ssh文件夹是不可见的,可以在/root目录执行 ll -la命令,然后可见.ssh文件夹,如图:

ssh免密登陆验证原理以及两台Linux机器免密登陆扩展到多台机器免密登陆_第3张图片
进入.ssh文件夹后有如图两个文件,id_rsa(私钥),id_rsa.pub(公钥):



2、在机器2上生成密钥,机器2:192.168.134.102:

同机器1操作。

三、实现机器1和机器2免密登陆

1、机器1相关操作:

将机器1的公钥复制到自己当前.ssh目录下,并命名为authorized_keys

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

再将机器1的公钥复制到对应机器2的.ssh目录下:

cat ~/.ssh/id_rsa.pub | ssh [email protected] "cat - >> ~/.ssh/authorized_keys"

此时机器1的.ssh目录如图:

ssh免密登陆验证原理以及两台Linux机器免密登陆扩展到多台机器免密登陆_第4张图片

其中known_hosts文件中,包含的已经将公钥给了哪台主机相关的信息

2、机器2相关操作:

由于上面的操作,机器2的.ssh路径下多了一个文件authorized_keys,里面是机器1的公钥信息

现在需要将自己的公钥信息加入到自己authorized_keys文件夹中以及机器1的authorized_keys文件夹中:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
cat ~/.ssh/id_rsa.pub | ssh [email protected] "cat - >> ~/.ssh/authorized_keys"

此时机器1的authorized_keys和机器2的authorized_keys文件夹均含有自己和别人的公钥,两台机器的免密登陆就完成了。

四、多台机器免密登陆

前面已经实现了两台机器的相互免密登陆,要保证能够免密登陆,需要的就是将自己的公钥给另外的机器,同时要保存另外的机器的公钥,多台机器,就要保存多台机器的公钥,也要给多台机器公钥。

你可能感兴趣的:(linux)