当前位置: 首页 > ops >正文

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` |

完成后,你可以像在本地一样流畅地开发远程代码!

http://www.xdnf.cn/news/14357.html

相关文章:

  • 理解ES6中的Promise
  • SAP-增删改查
  • 中介者模式Mediator Pattern
  • 鸿蒙智行5月全系交付新车破4.4万辆,销量再创新高
  • FTP 并不适合用在两个计算机之间共享读写文件 为什么
  • 获取全国行政区划数据
  • Sklearn 机器学习 缺失值处理 过滤掉缺失值的行并统计
  • 大模型在垂直领域的应用:金融、医疗、教育等行业的创新案例分析
  • Leetcode 3585. Find Weighted Median Node in Tree
  • day54python打卡
  • 【git】有两个远程仓库时的推送、覆盖、合并问题
  • 数据管道架构设计指南:5大模式与最佳实践
  • Shakker-Labs提出RepText方法,提升FLUX处理文本能力
  • 每天宜搭宜搭小知识—报表组件—日历热力图
  • C++第一阶段——语言基础与核心特性
  • Kafka Connect 存在任意文件读取漏洞(CVE-2025-27817)
  • 【OpenVINO™】使用OpenVIN.CSharp.API在C#平台快速部署PP-OCRv5模型识别文本
  • 【保姆级开发文档】安卓开发四大组件及其生命周期详解
  • 最新版MATLAB R2025a ,支持Windows10/11
  • Laravel 12 更新与之前版本结构变更清单
  • XxlJob热点文章定时计算
  • 001微信小程序入门
  • 向量外积与秩1矩阵的关系
  • Path.mkdir vs os.makedirs:为什么Ruff建议替换?
  • node中Token刷新机制:给你的数字钥匙续期的奇妙之旅
  • RADIUS服务器的核心应用场景与ASP认证服务器的快速对接指南
  • Linux--存储系统探秘:从块设备到inode
  • 基于STM32单片机RLC检测仪
  • TabSyncer:浏览器标签页管理工具
  • 【freertos互斥量补充】递归锁