vscode通过ssh连接
在 **VS Code** 中通过 **SSH** 连接远程 Ubuntu 服务器并开发代码工程的完整步骤如下:
---
### **1. 准备工作**
- **本地环境**:安装 VS Code([下载地址](https://code.visualstudio.com/))。
- **远程服务器**:确保 Ubuntu 已开启 SSH 服务(默认端口 22)。
- **网络**:本地能通过 SSH 连接到远程服务器(检查 `ssh user@ip` 是否成功)。
---
### **2. 安装 VS Code 插件**
1. 打开 VS Code,安装官方插件:
- **Remote - SSH**(微软官方扩展,必装)
- **Python**(若开发 Python 项目)
- **其他语言支持插件**(如 C/C++, Go 等)
---
### **3. 配置 SSH 连接**
#### **方法 1:密码登录(简单)**
1. 点击 VS Code 左下角 **><** 图标 → **Connect to Host...** → **Add New SSH Host...**。
2. 输入 SSH 命令格式:
```bash
ssh username@server_ip -p port # 默认端口可省略 -p
```
- 示例:`ssh ubuntu@192.168.1.100`
3. 选择保存到 `~/.ssh/config` 文件,输入密码完成连接。
#### **方法 2:密钥登录(推荐,更安全)**
1. **本地生成密钥对**(如果尚未生成):
```bash
ssh-keygen -t ed25519 # 或 ssh-keygen -t rsa
```
2. **将公钥上传到服务器**:
```bash
ssh-copy-id -i ~/.ssh/id_ed25519.pub ubuntu@server_ip
```
3. 在 VS Code 中通过密钥连接(无需每次输密码)。
---
### **4. 连接到远程工程目录**
1. 成功连接后,VS Code 会打开远程环境。
2. 点击 **File → Open Folder**,输入远程服务器上的工程路径(如 `/home/ubuntu/project`)。
---
### **5. 配置开发环境**
#### **安装必要工具**
在远程终端(VS Code 内置)中运行:
```bash
# 示例:Python 项目
sudo apt update
sudo apt install -y python3-pip git
pip install -r requirements.txt
```
#### **配置 Python 解释器**
1. 按 `Ctrl+Shift+P` → 输入 **Python: Select Interpreter**。
2. 选择远程服务器上的 Python 路径(如 `/usr/bin/python3` 或虚拟环境路径)。
---
### **6. 调试代码**
1. 打开代码文件,设置断点。
2. 点击 **Run → Start Debugging**(或按 `F5`),选择调试配置(如 Python 文件)。
---
### **7. 文件传输**
- **直接拖放**:在 VS Code 资源管理器中拖拽本地文件到远程目录。
- **命令行工具**:
```bash
# 从本地复制到远程
scp local_file ubuntu@server_ip:/remote/path
# 从远程复制到本地
scp ubuntu@server_ip:/remote/path local_dir
```
---
### **8. 常见问题解决**
#### **问题 1:连接超时**
- 检查服务器 IP 和端口是否正确。
- 确认防火墙放行 SSH 端口:
```bash
sudo ufw allow 22 # Ubuntu 防火墙
```
#### **问题 2:权限被拒绝**
- 确保服务器用户名和密码正确。
- 如果是密钥登录,检查 `~/.ssh/authorized_keys` 文件权限:
```bash
chmod 600 ~/.ssh/authorized_keys
```
#### **问题 3:无法访问远程目录**
- 检查路径是否存在,且用户有权限:
```bash
ls -la /path/to/project
```
---
### **9. 高级配置**
#### **复用 SSH 连接**
在 `~/.ssh/config` 中添加以下内容加速重连:
```bash
Host my_server
HostName server_ip
User ubuntu
IdentityFile ~/.ssh/id_ed25519
ControlMaster auto
ControlPath ~/.ssh/%r@%h:%p
ControlPersist yes
```
在 VS Code 中直接连接 `my_server`。
#### **端口转发**
在 `ssh` 命令中添加 `-L` 参数转发端口(如 Jupyter Notebook):
```bash
ssh -L 8888:localhost:8888 ubuntu@server_ip
```
---
### **总结**
| 步骤 | 操作 |
|------|------|
| 1. 安装插件 | Remote-SSH, Python 等 |
| 2. 配置 SSH | 密码或密钥登录 |
| 3. 打开工程 | 选择远程目录 |
| 4. 环境配置 | 安装依赖、选择解释器 |
| 5. 调试运行 | 设置断点,按 `F5` |
完成后,你可以像在本地一样流畅地开发远程代码!