本文档主要介绍了如何在两台SSH服务器(guoorcl1和guoorcl2)之间实现双机互相认证,以便用户root能够通过SSH在远程主机上执行指令和脚本。整个过程包括生成并管理SSH密钥对,以及设置相应的权限。
首先,用户grid在两台服务器上分别创建了一个名为`.ssh`的目录,并赋予了700的权限,确保只有该用户可以访问。这可以通过以下命令完成:
1. 在guoorcl1上:
```shell
[grid@guoorcl1~]$ mkdir .ssh
[grid@guoorcl1~]$ chmod 700 .ssh
[grid@guoorcl1~]$ cd .ssh
```
2. 在guoorcl2上:
```shell
[grid@guoorcl2~]$ mkdir .ssh
[grid@guoorcl2~]$ chmod 700 .ssh
[grid@guoorcl2~]$ cd .ssh
```
接着,用户grid在各自的`.ssh`目录下分别生成了DSA和RSA类型的SSH密钥对。通过`ssh-keygen`命令,如在guoorcl1上生成DSA密钥:
```shell
[grid@guoorcl1~]$ ssh-keygen -t dsa
```
输入保存密钥的文件路径(通常是`.ssh/id_dsa`),并设置一个密码(这里为空,表示无密码登录)。同样地,在guoorcl1上生成RSA密钥:
```shell
[grid@guoorcl1~]$ ssh-keygen -t rsa
```
最后,为了实现双机之间的互相认证,用户需要将生成的公钥(例如`id_dsa.pub`或`id_rsa.pub`)复制到另一台服务器的对应用户的`.ssh/authorized_keys`文件中。这通常是由系统管理员或者通过SSH自动完成,但手动操作时,应确保公钥的安全性。
整个过程的目的是为了提供一个安全的、免密码的方式进行远程登录,提高效率。双机之间的公钥验证替代了传统的密码验证方式,增加了系统的安全性。用户只需要在一台服务器上设置好公钥,其他服务器就能自动识别并允许登录,而无需每次都输入密码。