返回
极智开发 | 最简方式解锁 Linux 下 SSH 或 SCP 免密连接
开发工具
2023-11-05 03:31:22
前言
在 Linux 系统中,SSH(Secure Shell)是一种用于安全远程登录和管理服务器的协议。而 SCP(Secure Copy)是基于 SSH 的安全文件传输协议,用于安全地复制文件或目录到远程计算机。为了简化操作并提高安全性,我们可以配置 SSH 或 SCP 的免密连接,从而无需每次连接或传输文件时都输入密码。
## 配置步骤
### 1. 生成密钥对
首先,我们需要使用 SSH 密钥生成工具生成密钥对,包括公钥和私钥。公钥将被放置在远程服务器上,而私钥将保存在您的本地计算机上。
- 打开终端或命令行窗口,输入以下命令生成密钥对:
```
ssh-keygen -t rsa -b 4096
```
- 按回车键,选择要保存私钥的文件名(通常是 ~/.ssh/id_rsa)。
- 系统会提示您输入密码短语,用以保护私钥。您可以选择输入密码短语,也可以选择不输入(不输入密码短语可能会降低安全性)。
### 2. 将公钥复制到远程服务器
接下来,我们需要将公钥复制到远程服务器上,以便服务器能够识别您的身份并允许免密连接。
- 使用 SSH 命令将公钥复制到远程服务器:
```
ssh-copy-id -i ~/.ssh/id_rsa.pub username@remote_server_address
```
- 系统会提示您输入远程服务器的密码,输入密码后即可完成公钥的复制。
### 3. 配置 SSH 或 SCP 免密连接
现在,我们可以配置 SSH 或 SCP 的免密连接。
- 打开 ~/.ssh/config 文件并添加以下内容:
```
Host remote_server_address
User username
IdentityFile ~/.ssh/id_rsa
```
- 保存并关闭 ~/.ssh/config 文件。
### 4. 测试免密连接
现在,您可以尝试使用 SSH 或 SCP 进行免密连接。
- 使用 SSH 登录远程服务器:
```
ssh username@remote_server_address
```
- 使用 SCP 传输文件:
```
scp local_file_path username@remote_server_address:remote_file_path
```
如果免密连接配置成功,您将无需输入密码即可登录远程服务器或传输文件。
## 结语
通过上述步骤,您已经成功配置了 Linux 下 SSH 或 SCP 的免密连接。希望本文对您有所帮助。在实际应用中,请根据您的实际情况调整配置,确保安全性和便利性的平衡。祝您学习愉快,工作顺利!