linux下两台主机之间(或多台主机之间)实现相互免密登录

一、两台主机之间:

现在两台主机A、B。如果想从主机A登录主机B时不用输入密码,方法如下:

主机A执行命令:ssh-keygen -t rsa    其中那三个要求你输入东西可以直接不用输入,回车就行,

执行命令后会在/root/.ssh/目录下产生两个文件,id_rsa(私钥),id_rsa.pub(公钥)。


接下里将公钥文件上传到主机B,在此假设A为192.168.1.1 ; B为192.168.1.2

执行命令 scp  /root/.ssh/id_rsa.pub  [email protected]:/root/.ssh/authorized_keys

将公钥上传到主机B ,并将其改名为authorized_keys。  注意:或许主机B 的root/目录下没有.ssh目录,得先自己创建,最低权限为700,authorized_keys最低权限为600。

到此,再通过主机A ssh到主机B,就不找输入密码了,若想从主机B到主机A,一样的操作就行-------把B的公钥上传到A就行。


多台主机之间:

比如有三台A、B、C,相互之间需要两两能免密登录,和上面的原理一样的,,只不过是将两个公钥合并就行,

现在三台各自先生成自己的私钥、公钥,把公钥都上传其他两台。现在主机A的/root/.ssh/目录下有C_id_rsa.pub和B_id_rsa.pub.

把两个文件合并为authorized_keys即可,,简单操作:cat命令

cat  C_id_rsa.pub  B_id_rsa.pub  >   authorized_keys  //将两个或者多个文件内容合并到一个新文件中

cat  C_id_rsa.pub   >>   authorized_keys  //将一个文件内容追加到另一个文件末尾

每台主机重复执行此操作,即拥有了另外两台的公钥,实现免密登录。



猜你喜欢

转载自blog.csdn.net/it_0101/article/details/79896322