一、两台主机之间:
现在两台主机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 //将一个文件内容追加到另一个文件末尾
每台主机重复执行此操作,即拥有了另外两台的公钥,实现免密登录。