VSCode SSH远程连接教程
本文档详细介绍如何使用VSCode通过SSH连接到Ubuntu服务器,实现远程开发和文件管理。
📋 环境要求
- 本地环境:Windows/macOS/Linux系统
- VSCode:已安装VSCode编辑器
- 服务器:Ubuntu服务器(已启用SSH服务)
- 网络:本地和服务器之间网络连通
🔧 服务器端配置
1. 安装SSH服务
确保Ubuntu服务器已安装SSH服务:
# 检查SSH服务状态
sudo systemctl status ssh
# 如果未安装,执行安装
sudo apt update
sudo apt install openssh-server -y
# 启动并设置开机自启
sudo systemctl start ssh
sudo systemctl enable ssh
2. 配置SSH服务
编辑SSH配置文件:
sudo nano /etc/ssh/sshd_config
推荐配置项:
# 允许root登录(可选,生产环境建议禁用)
PermitRootLogin yes
# 允许密码认证
PasswordAuthentication yes
# 禁用空密码
PermitEmptyPasswords no
# 允许公钥认证
PubkeyAuthentication yes
重启SSH服务:
sudo systemctl restart ssh
3. 防火墙配置
确保SSH端口(默认22)已开放:
# 允许SSH流量
sudo ufw allow ssh
# 或者指定端口
sudo ufw allow 22
# 查看防火墙状态
sudo ufw status
4. 查看服务器IP地址
# 查看IP地址
ip addr show
# 或者使用
hostname -I
💻 VSCode客户端配置
1. 安装扩展
在VSCode中安装必要扩展:
- Remote - SSH(必需)
- Remote Development(扩展包,包含SSH)
- Remote - SSH: Editing Configuration Files(配置文件编辑)
安装方法:
- 打开VSCode
- 点击左侧扩展图标(Ctrl+Shift+X)
- 搜索 "Remote - SSH"
- 点击 "Install"
2. SSH连接方法
方法一:使用命令面板(推荐)
- 打开VSCode
- 按
Ctrl+Shift+P打开命令面板 - 输入
Remote-SSH: Connect to Host... - 选择
+ Add New SSH Host... - 输入连接命令:例如:
ssh username@server_ipssh ubuntu@192.168.1.100
方法二:使用侧边栏
- 点击VSCode左侧的 "Remote Explorer" 图标
- 在SSH部分点击"+"号
- 输入连接命令
- 选择SSH配置文件保存位置
3. 选择配置文件
VSCode会提示选择SSH配置文件:
- Windows:
C:\Users\YourUser\.ssh\config - macOS/Linux:
~/.ssh/config - 选择第一个选项(用户的SSH配置文件)
# 示例配置
Host ubuntu-server
HostName 192.168.200.3
User jia2025
Port 22
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
4. 输入密码或密钥
首次连接时:
- 输入服务器用户密码
- 选择平台类型(Linux)
- 点击 "Continue"
5. 验证主机密钥
首次连接会显示服务器指纹:
- 点击 "Continue" 接受
- 主机信息会保存到known_hosts文件
🔑 SSH密钥认证(推荐)
为了更安全和便捷的连接,建议使用SSH密钥认证。
1. 生成SSH密钥对
在本地计算机上生成密钥:
# 文件名
ssh-keygen -t rsa -b 4096 -C "jh104@qq.com" -f C:\Users\jh104\.ssh\vm-ubuntu-docker
# macOS/Linux Terminal
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
# vscode本地ssh配置:
Host vm-ubuntu-docker
HostName 192.168.200.3
User jia2025
IdentityFile C:\Users\jh104\.ssh\vm-ubuntu-docker
Port 22
按提示操作:
- 不加 -f [file path] 默认保存位置:
~/.ssh/id_rsa - 可选设置密码短语
- 确认生成
2. 复制公钥到服务器
方法一:使用ssh-copy-copy命令
# Windows可能需要Git Bash
ssh-copy-id username@server_ip
方法二:手动复制
# 查看本地公钥内容
cat ~/.ssh/xxx.pub
在服务器上操作:
# 创建.ssh目录(如果不存在)
mkdir -p ~/.ssh
# 编辑authorized_keys文件
nano ~/.ssh/authorized_keys
# 追加一行公钥内容,保存退出
sha-xxx
# 设置正确权限
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
3. 测试密钥登录
ssh username@server_ip
如果配置正确,无需输入密码即可登录。
🛠️ VSCode远程开发功能
1. 文件操作
连接成功后,您可以:
- 浏览服务器文件系统
- 创建、编辑、删除文件
- 上传下载文件(拖拽)
- 右键菜单进行文件操作
2. 终端使用
- 按
Ctrl+Shift+`(反引号)打开终端 - 在服务器上执行命令
- 支持多个终端标签页
3. 扩展支持
- 扩展会自动在服务器端安装
- 支持PHP、Python、Node.js等开发环境
- 代码高亮、智能提示、调试等功能
4. 端口转发
可以访问服务器上运行的服务:
- 打开命令面板(Ctrl+Shift+P)
- 输入
Forward a Port - 输入端口号(如:80, 3306, 22)
- 在本地通过
localhost:port访问
🚀 常用配置优化
1. SSH配置文件优化
编辑本地SSH配置文件 ~/.ssh/config:
Host ubuntu-server
HostName 192.168.1.100
User ubuntu
Port 22
IdentityFile ~/.ssh/id_rsa
ServerAliveInterval 60
ServerAliveCountMax 3
Host myweb
HostName your-domain.com
User root
Port 22
IdentityFile ~/.ssh/id_rsa
这样配置后,可以使用简短名称连接:
ssh ubuntu-server
ssh myweb
2. VSCode设置优化
在VSCode设置中添加:
{
"remote.SSH.configFile": "~/.ssh/config",
"remote.SSH.remotePlatform": {
"ubuntu-server": "linux"
},
"remote.SSH.showLoginTerminal": true
}
🔧 故障排除
1. 连接失败
问题:无法连接到服务器 解决:
- 检查服务器IP地址是否正确
- 确认SSH服务已启动:
sudo systemctl status ssh - 检查防火墙设置:
sudo ufw status - 测试网络连通性:
ping server_ip
2. 认证失败
问题:密码错误或认证被拒绝 解决:
- 确认用户名和密码正确
- 检查SSH配置:
sudo nano /etc/ssh/sshd_config - 验证公钥是否正确添加到服务器
- 重启SSH服务:
sudo systemctl restart ssh
3. 连接超时
问题:连接过程中超时 解决:
- 检查网络连接
- 在SSH配置中添加:
ServerAliveInterval 60 ServerAliveCountMax 3
4. 权限问题
问题:文件权限不足 解决:
- 检查.ssh目录权限:
chmod 700 ~/.ssh - 检查authorized_keys权限:
chmod 600 ~/.ssh/authorized_keys - 确认文件所有者正确
🎯 高级技巧
1. 多跳连接
通过中间服务器连接目标服务器:
# SSH配置文件
Host target-server
HostName 192.168.2.100
User ubuntu
ProxyJump jump-server
Host jump-server
HostName 192.168.1.100
User ubuntu
2. 本地端口转发
访问服务器内网服务:
ssh -L 8080:localhost:80 username@server_ip
这样本地访问 localhost:8080 就等于访问服务器的80端口。
3. 远程端口转发
让服务器访问本地服务:
ssh -R 8080:localhost:3000 username@server_ip
4. VSCode工作区配置
保存远程工作区配置:
- 连接到远程服务器
- File → Save Workspace As...
- 保存为
.code-workspace文件 - 下次直接打开工作区文件即可连接
📱 移动端选项
如果需要在移动设备上连接:
- Android:使用 "Remote VSCode" 或类似应用
- iOS:使用 "Textastic" 或 "Working Copy" 等
🎉 总结
通过VSCode SSH连接,您可以:
- 在本地舒适的环境中开发服务器项目
- 利用VSCode强大的编辑功能
- 直接操作服务器文件系统
- 使用本地扩展和配置
- 实现高效的远程开发工作流
这种开发方式特别适合Web开发、系统管理、DevOps等场景,大大提升了开发效率和体验。
🔒 安全提醒
- 定期更新SSH服务
- 使用强密码或密钥认证
- 禁用不必要的认证方式
- 监控SSH登录日志
- 考虑更改默认SSH端口
- 使用fail2ban防暴力破解