在CentOS 7上完成SSH免密码登录的步骤如下:
1. **生成SSH密钥对**:
首先,你需要生成一个SSH密钥对。如果你已经有一个密钥对,可以跳过这一步。
```bash
ssh-keygen -t rsa
```
这将生成一个RSA密钥对,默认存储在`~/.ssh/id_rsa`(私钥)和`~/.ssh/id_rsa.pub`(公钥)。
如果已经有密钥对,此步 跳过。
2. **将公钥复制到目标服务器**:
使用`ssh-copy-id`命令将你的公钥复制到目标服务器的`~/.ssh/authorized_keys`文件中。
```bash
ssh-copy-id user@remote_host
```
其中,`user`是你在目标服务器上的用户名,`remote_host`是目标服务器的IP地址或主机名。
3. **测试免密码登录**:
现在,尝试通过SSH登录到目标服务器,看看是否需要输入密码。
```bash
ssh user@remote_host
```
如果一切正常,你应该能够直接登录,而不需要输入密码。
4. **确保SSH配置允许密钥认证**:
确保目标服务器上的SSH配置文件`/etc/ssh/sshd_config`允许密钥认证。检查以下配置项:
```
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
```
然后重启SSH服务以应用更改:
```bash
sudo systemctl restart sshd
```
通过以上步骤,你应该能够在CentOS 7上实现SSH免密码登录。