各位好,本篇将通过两台机器的配置介绍如何实现双向互相登录无需密码认证。本篇使用一种方式被称为"公私钥"认证的方式来进行ssh登录。"公私钥"认证方式简单的解释是:首先在客户端上创建一对公私钥(公钥文件:~/.ssh/id_rsa.pub;私钥文件:~/.ssh/id_rsa),然后把公钥放到服务器上(~/.ssh/authorized_keys),自己保留好私钥。当ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配。如果匹配成功就可以登录了。下面将详细介绍如何配置。
1、首先我们需要确保两台机器可以连通,并且都开启了ssh认证服务。我们可以执行ping命令来确保两台机器是否可以连通。具体操作如下图所示
2、然后确保是否都开启了sshd服务。执行命令"ps -ef | grep sshd" 查看是否开启。具体展示如下图所示。
3、然后我们在A机(192.168.3.132)上生成一对公钥、私钥。采用命令"ssh-keygen -t rsa -P """来进行生成。具体操作如下图所示。
4、生成完毕后,然后将生成的公钥通过scp命令拷贝到B机(192.168.3.159)的root/.ssh/目录下。生成的公钥默认目录为:/root/.ssh/。我们执行命令"scp /root/.ssh/id_rsa.pub 192.168.3.159:/root/.ssh/authorized_keys"执行文件拷贝工作,拷贝到B机上文件进行了重命名为:authorized_keys。具体操作如下图所示。
5、然后我们在A机上通过ssh连接B机并执行命令date,查看B机的时间。我们执行命令:“ssh 192.168.3.159 date”可以看到不需要输入密码就可以登录B机了。具体展示如下图所示。我们已经配置好了A机登录B机不需要密码的方式。
6、同样在B机上我们执行命令"ssh-keygen -t rsa -P """,生成一对公钥、私钥。具体操作如下图所示。
7、然后将生成的公钥通过scp命令,拷贝到A机(192.168.3.132)上。此处执行命令"scp /root/.ssh/id_rsa.pub 192.168.3.132:/root/.ssh/authorized_keys",拷贝到A机上文件名称为authorized_keys。具体操作如下图所示。
8、然后同样我们在B机(192.168.3.159)上执行命令“ssh 192.168.3.132 date”不需要输入A机密码就可以得到A机的时间。具体操作如下图所示。