原理
非对称加密算法
思前想后还是觉得自己再怎么写也没阮一峰老师写的好,这里放上链接
配置步骤
配置A主机到B主机的免密登录,根据上述非对称加密原理,要使A可以免密登录至B,那么就需要把A主机的公钥放置于B主机上。
在登录时,A主机用自己的私钥加密登录信息,B主机用自己所保存的A的公钥解锁成功后即认为是合法的登录
所以,配置只需要两大步骤:
- 生成A主机的公私钥
- 将A主机的公钥放在B主机上
首先,生成A主机的公私钥:(以下操作均在A主机上)
ssh-keygen -t rsa -P ''
连续按3次空格使用默认设置,此时会将A主机的公私钥生成在
~/.ssh
这个路径下,这个路径下会有两个文件
id_rsa id_rsa.pub
其中id_rsa
保存的是A主机的私钥,is_rsa.pub
保存的是公钥
到这里,第一大步就算完成了
接下来,将A主机的公钥放在B主机上。当然,肯定不是随便放在一个地方就可以的。(接下来的操作都在B机器上执行)
touch /root/.ssh/authorized_keys (如果已经存在这个文件, 跳过这条)
注意这里的root用户,你将A主机的公钥保存在B主机的哪个用户主目录下,那么就只能以这个用户的身份免密登录,此例配置在了root用户的主目录下,实际情况中根据自己的需求选择用户
想办法把A主机的公钥保存在/root/.ssh/authorized_keys这个文件里,比如用文本编辑器打开,然后手动把公钥复制过来,一段公钥长这样
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArdBxCkbZReARKoa0qCSCL0RkNOyNv8H2aPxfOkPN2gMv9F0G/6RxzXSV0BkgqcP6Qk59tuDd1Qzbk8fxPA5EC0ttgQ+HaSNiS2a3RTmgGjHlHq06Cuo7EZPf5lhMjkfe6/c+9n6ITzBn4xrSxrKJsH248bvoXqo8sCa4YPHyUOR7OXH2DwdPoTcbhKN/lUxyYk8tUXAIykjXSlb0mKb9IVjdIgvDl/BsSqDrjfM15lqOcORaKJP5zTPOw7K+eWpERaMHc8KGl85jQutATIT6BUUCKKj66IAP9aDdvL1ahULFDETpQSTreGaZQCGQ+i0A4fV9mrJXI7N3twCr7pXoQw== user@testhost
接下来最后一步操作,将authorized_keys
这个文件权限改成600,由于这个文件安全等级很高,如果权限不正确,是无法免密登录的
chmod 600 ~/.ssh/authorized_keys
搞定,这样就配置好了A主机到B主机的免密登录了,但是此时B主机是无法免密登录A主机的,要想互相免密登录的话,反过来再配置一遍就OK了~
ssh root@xx.xx.xx.xx