Linux 配置双机SSH信任实现免密远程登录

Linux 配置双机SSH信任实现免密远程登录_第1张图片

一、使用场景及实现原理

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

Linux 配置双机SSH信任实现免密远程登录_第2张图片

注意:在程序提示输入passphrase时直接输入回车,表示无证书密码。

  上述命令将生成私钥证书id_rsa和公钥证书id_rsa.pub,存放在当前用户家目录的.ssh子目录中。这里使用的哪个用户,后面免密登录也是这个用户哦

  查看~/.ssh生成的密钥文件

# cd ~/.ssh

# ll

Linux 配置双机SSH信任实现免密远程登录_第3张图片

 

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,环境部署)