概述
一、使用场景及实现原理
1、使用场景
有两台服务器A、B,需要经常进行互相访问,但是两者每次访问时,都需要验证用户名和密码,这样太麻烦了!
如果能免密码直接登录就好了~
所以就有了SSH添加信任实现免密码登录了。
2、实现原理
它是使用一种被称为"公私钥"认证的方式来进行ssh登录。"公私钥"认证方式简单的解释是:
首先在客户端上创建一对公私钥(公钥文件:~/.ssh/id_rsa.pub;私钥文件:~/.ssh/id_rsa),然后把公钥放到服务器上(~/.ssh/authorized_keys),自己保留好私钥。
当ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配。如果匹配成功就可以登录了。
二、Linux/Unix双机建立信任
1、在A机生成证书
在A机app用户下执行ssh-keygen命令,在需要输入的地方,直接回车,生成建立安全信任关系的证书。
连续三次回车后密钥生成成功。
# ssh-keygen -t rsa
注意:在程序提示输入passphrase时直接输入回车,表示无证书密码。
上述命令将生成私钥证书id_rsa和公钥证书id_rsa.pub,存放在当前用户家目录的.ssh子目录中。这里使用的哪个用户,后面免密登录也是这个用户哦
查看~/.ssh生成的密钥文件
# cd ~/.ssh
# ll
2、A对B建立信任关系
到机器B的某个用户(我这里使用的是app用户)家目录的.ssh子目录中,打开authorized_keys文件(若没有则创建),把A机生成的id_rsa.pub公钥文件内容拷贝过来。
(若要添加多台服务器互相信任,只需在该文件中依次把对方的公钥拷贝过来即可)
3、 B对A建立信任关系
在B机上执行同样的操作,建立B对A的信任关系。
# ssh-keygen -t rsa
然后把B生成的id_rsa.pub公钥文件内容拷贝到A的~/.ssh/authorized_keys文件中。
三、测试
分别在A、B机上执行
ssh 对方IP
即可免密登录。
最后
以上就是直率大叔为你收集整理的Linux 配置双机SSH信任实现免密远程登录的全部内容,希望文章能够帮你解决Linux 配置双机SSH信任实现免密远程登录所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复