作者:whucad | 来源:互联网 | 2024-11-25 14:39
在日常工作中,我们往往需要在多台不同的Linux服务器之间频繁切换。每当登录时都需要手动输入密码,这无疑增加了操作的复杂性和时间成本。为了简化这一过程,可以通过配置SSH密钥认证来实现免密码登录。
**环境准备**
- 服务器A(IP: 192.168.0.102)
- 客户端B(IP: 192.168.0.105)
在开始之前,确保两台Linux服务器之间的网络连接正常,并且SSH服务已经启动。
**生成SSH密钥对**
首先,在服务器A上执行以下命令生成RSA密钥对:
```
# ssh-keygen -t rsa
```
系统将提示您选择保存密钥的文件位置和设置密码(可选)。默认情况下,私钥将保存在`~/.ssh/id_rsa`,公钥保存在`~/.ssh/id_rsa.pub`。
**复制公钥至客户端**
接下来,将服务器A上的公钥复制到客户端B,以便客户端能够识别并信任来自服务器A的连接请求:
```
# ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.105
```
首次执行该命令时,系统会要求输入客户端B的登录密码。成功后,客户端B的`~/.ssh/authorized_keys`文件中将会添加服务器A的公钥。
**测试免密码登录**
现在,尝试从服务器A无密码登录到客户端B:
```
# ssh root@192.168.0.105
```
如果一切配置正确,您应该能够直接进入客户端B的命令行界面,而无需再次输入密码。
通过这种方式,不仅可以提高日常工作的效率,还能方便地执行跨服务器的自动化任务,如定时备份、日志收集等。此外,使用SSH密钥认证相比传统的密码认证方式,安全性更高,因为密钥可以设置为更复杂的组合,且不易被暴力破解。