Remote SSH功能让你可以在Cursor中直接连接和操作远程服务器,实现真正的远程开发体验。通过SSH协议安全连接到Linux服务器、云主机或开发环境,享受Cursor编辑器的强大功能与远程服务器的强大性能。
什么是Remote SSH
Remote SSH是一个强大的远程开发解决方案,它允许你:
远程代码编辑:直接在远程服务器上编辑文件,无需下载到本地
终端访问:在Cursor中直接使用远程服务器的终端
文件管理:浏览和管理远程服务器的文件系统
插件支持:大部分Cursor插件可在远程环境中正常工作
性能优势:利用远程服务器的计算资源进行开发
适用场景
需要在高性能云服务器上进行开发
团队协作开发,共享开发环境
本地机器性能不足,需要远程计算资源
开发环境部署在Linux服务器上
需要访问特定网络环境中的资源
多设备间保持一致的开发环境
准备工作
服务器端要求
操作系统:Linux或macOS(推荐Ubuntu 18.04+)
SSH服务:确保SSH服务已启动并正常运行
网络访问:服务器可通过SSH端口(默认22)访问
用户权限:具有服务器登录权限的用户账户
磁盘空间:足够的空间存储代码和Cursor Server组件
客户端要求
Cursor版本:确保使用最新版本的Cursor
SSH客户端:Windows需要OpenSSH或Git Bash
网络连接:稳定的网络连接到远程服务器
SSH密钥:推荐配置SSH公钥认证(可选但推荐)
第一步:安装Remote SSH插件(如下图)
1. 打开插件市场
在Cursor中按下 Ctrl+Shift+X(Windows/Linux)或 Cmd+Shift+X(Mac)
或者点击左侧活动栏中的"插件"图标
2. 搜索并安装插件
搜索关键词
Remote - SSH
找到"Remote - SSH"插件(由Anysphere发布)
点击"安装"按钮
等待安装完成,无需重启Cursor
(插件市场搜索安装Remote - SSH)
3. 验证安装
安装成功后,你会在左下角看到一个绿色的"远程窗口"图标,这表示Remote SSH插件已经准备就绪。
第二步:配置SSH连接
方法一:通过配置文件(推荐)
1. 打开SSH配置文件
按下 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(Mac)
输入"Remote-SSH: Open Configuration File"
选择配置文件位置(通常选择用户目录下的config文件)
(搜索ssh,选择Remote-SSH: Open Configuration File)
2. 添加服务器配置
SSH配置示例
# 开发服务器
Host myserver
HostName 192.168.1.100
User myusername
Port 22
IdentityFile ~/.ssh/id_rsa
# 云服务器示例
Host cloud-server
HostName your-server.com
User ubuntu
Port 22
IdentityFile ~/.ssh/cloud_key.pem
# 更多选项的完整配置
Host production-server
HostName prod.example.com
User deploy
Port 2222
IdentityFile ~/.ssh/prod_key
ServerAliveInterval 60
ServerAliveCountMax 3
ConnectTimeout 10
配置参数说明
参数
说明
示例
Host
连接名称(自定义)
myserver, dev-env
HostName
服务器IP地址或域名
192.168.1.100, server.com
User
登录用户名
root, ubuntu, myuser
Port
SSH端口(默认22)
22, 2222, 8022
IdentityFile
SSH私钥文件路径
~/.ssh/id_rsa
方法二:直接连接(新手推荐)
按下 Ctrl+Shift+P,输入"Remote-SSH: Connect to Host"
选择"Add New SSH Host"
输入完整的SSH连接命令:ssh username@hostname -p port
选择配置文件保存位置
第三步:配置SSH密钥认证(推荐)
💡 为什么推荐使用密钥认证?
SSH密钥认证比密码认证更安全、更便捷,无需每次输入密码,同时提供更高的安全性。
1. 生成SSH密钥对
在本地终端执行
# 生成RSA密钥对
ssh-keygen -t rsa -b 4096 -C "your-email@example.com"
# 或生成ED25519密钥对(推荐,更安全)
ssh-keygen -t ed25519 -C "your-email@example.com"
按提示选择密钥保存位置(默认:~/.ssh/id_rsa)
设置密钥密码(可选,但推荐)
生成完成后会有两个文件:私钥(id_rsa)和公钥(id_rsa.pub)
2. 将公钥添加到远程服务器
方法A:使用ssh-copy-id(推荐)
复制公钥到服务器
ssh-copy-id username@hostname
方法B:手动复制
查看公钥内容
# 查看公钥内容
cat ~/.ssh/id_rsa.pub
# 复制输出的内容,然后在服务器上执行:
echo "公钥内容" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
3. 测试密钥认证
测试连接
ssh -i ~/.ssh/id_rsa username@hostname
如果配置正确,应该可以无密码登录到服务器。
第四步:连接到远程服务器
1. 启动连接
点击Cursor左下角的绿色"远程窗口"图标
选择"Connect to Host..."
从列表中选择你配置的服务器(前面步骤一所配置的)
或者使用快捷键 Ctrl+Shift+P,输入"Remote-SSH: Connect to Host"
(选择Connect to Host...,会提示下图)
(可以选择步骤一创建的配置文件,或者新建配置文件)
2. 首次连接
选择远程服务器的操作系统类型(Linux/macOS/Windows)
Cursor会自动在远程服务器上安装Cursor Server组件
等待安装完成(首次连接可能需要几分钟)
如果使用密码认证,输入服务器密码
3. 连接成功标志
连接成功后,你会看到:
左下角显示"SSH: hostname"
文件资源管理器显示远程服务器的文件系统
终端默认连接到远程服务器
状态栏显示远程连接信息
(连接成功后,侧边文件栏显示,可点击Open Folder打开远程目录)
第五步:远程开发操作
1. 打开远程项目
点击"文件" → "打开文件夹"
浏览并选择远程服务器上的项目目录
或使用快捷键 Ctrl+K Ctrl+O
(选择需要打开的远程目录)
2. 使用远程终端
按下 Ctrl+` 打开集成终端
终端自动连接到远程服务器
可以直接执行远程服务器上的命令
支持多个终端标签页
3. 文件操作
编辑文件:直接在编辑器中打开远程文件进行编辑
创建文件:右键文件夹 → "新建文件"
文件上传:直接拖拽本地文件到远程目录
文件下载:右键文件 → "下载"(如需要)
搜索文件:Ctrl+P 快速搜索远程文件
4. 插件管理
💡 插件同步说明
某些插件需要在远程服务器上单独安装。Cursor会提示你哪些插件需要在远程环境中安装。
大部分插件可以在远程环境中正常使用
语言支持插件(如Python、Node.js)建议在远程安装
主题和界面插件通常在本地生效
可以为远程环境单独配置插件
高级配置与优化
1. 连接优化
SSH配置优化
Host myserver
HostName server.example.com
User myuser
Port 22
IdentityFile ~/.ssh/id_rsa
# 连接优化选项
ServerAliveInterval 60 # 每60秒发送心跳包
ServerAliveCountMax 3 # 最多3次心跳失败后断开
ConnectTimeout 10 # 连接超时时间
TCPKeepAlive yes # 启用TCP保活
# 连接复用(提高连接速度)
ControlMaster auto
ControlPath ~/.ssh/sockets/%r@%h-%p
ControlPersist 600 # 连接保持600秒
2. 端口转发
当你需要访问远程服务器上的web服务时:
按下 Ctrl+Shift+P,输入"Remote-SSH: Forward Port from Host"
输入远程端口号(如3000)
选择本地端口号(可以相同或不同)
现在可以通过 localhost:3000 访问远程服务
3. 自动端口转发
workspace设置 (.vscode/settings.json)
{
"remote.autoForwardPorts": true,
"remote.autoForwardPortsSource": "hybrid"
}
4. 同步设置
启用Cursor设置同步,确保远程环境使用相同配置
或为远程环境创建单独的设置文件
可以同步插件、快捷键、主题等
常见问题与故障排除
1. 连接失败问题
问题:无法连接到远程主机
检查网络连接和服务器是否在线
验证SSH服务是否运行:sudo systemctl status ssh
检查防火墙设置:sudo ufw status
确认SSH端口是否正确
测试直接SSH连接:ssh username@hostname
问题:权限被拒绝
检查用户名和密码是否正确
验证SSH密钥权限:chmod 600 ~/.ssh/id_rsa
检查authorized_keys权限:chmod 600 ~/.ssh/authorized_keys
确认SSH密钥是否正确配置
2. 性能问题
问题:连接速度慢
启用SSH连接复用(见高级配置)
关闭不必要的插件
减少同时打开的文件数量
使用有线网络连接
选择地理位置较近的服务器
问题:编辑延迟高
检查网络延迟:ping hostname
调整Cursor的自动保存设置
关闭实时语法检查(如果不需要)
使用更稳定的网络连接
3. Cursor Server问题
问题:Cursor Server安装失败
确保服务器有足够的磁盘空间
检查网络连接,确保可以下载安装包
尝试手动删除 ~/.cursor-server 目录后重新连接
检查服务器是否支持所需的架构(x64, ARM等)
问题:连接中断
配置SSH心跳保活(见高级配置)
检查网络稳定性
重新连接:点击左下角连接状态 → "Reconnect"
如果频繁断开,考虑使用tmux等终端多路复用器
4. 文件同步问题
问题:文件修改未同步
检查文件是否已保存(Ctrl+S)
确认网络连接正常
重新加载窗口:Ctrl+Shift+P → "Developer: Reload Window"
检查文件权限是否允许修改
安全最佳实践
1. SSH安全配置
使用密钥认证:禁用密码登录,仅使用SSH密钥
更改默认端口:将SSH端口从22改为其他端口
限制用户访问:只允许特定用户SSH登录
配置防火墙:只开放必要的端口
定期更新:保持服务器系统和SSH服务最新
2. 密钥管理
为不同服务器使用不同的SSH密钥
定期轮换SSH密钥
使用密钥密码保护私钥
安全存储私钥,避免泄露
及时撤销不再使用的公钥
3. 网络安全
使用VPN连接到内网服务器
避免在公共网络上进行敏感操作
监控SSH登录日志:tail -f /var/log/auth.log
配置fail2ban防止暴力破解
定期审计SSH访问记录
高效工作流程建议
1. 项目组织
专用工作目录:在远程服务器上创建专门的项目目录
环境隔离:使用虚拟环境或容器隔离不同项目
版本控制:在远程服务器上直接使用Git进行版本管理
备份策略:定期备份重要代码和配置
2. 开发工具集成
在远程服务器上安装必要的开发工具(Node.js、Python、Docker等)
配置远程数据库连接
设置自动化构建和测试流程
使用远程调试功能
3. 团队协作
共享开发服务器配置
统一开发环境和工具版本
制定代码同步和冲突解决流程
建立远程开发规范和最佳实践
与云服务商集成
AWS EC2
AWS EC2 SSH配置示例
Host aws-ec2
HostName ec2-xx-xx-xx-xx.compute-1.amazonaws.com
User ec2-user
Port 22
IdentityFile ~/.ssh/my-aws-key.pem
ServerAliveInterval 60
阿里云ECS
阿里云ECS SSH配置示例
Host aliyun-ecs
HostName your-ecs-ip.com
User root
Port 22
IdentityFile ~/.ssh/aliyun_rsa
ServerAliveInterval 60
腾讯云CVM
腾讯云CVM SSH配置示例
Host tencent-cvm
HostName your-cvm-ip.tencentcloudapi.com
User ubuntu
Port 22
IdentityFile ~/.ssh/tencent_key
ServerAliveInterval 60
总结
通过Remote SSH,你可以充分利用远程服务器的计算资源,同时享受Cursor本地编辑器的强大AI能力与便利性。关键要点:
正确配置:确保SSH配置正确,推荐使用密钥认证
网络优化:使用连接复用和心跳保活提高连接稳定性
安全第一:遵循SSH安全最佳实践,保护服务器安全
高效工作流:建立适合远程开发的工作流程和项目组织方式
问题排除:熟悉常见问题的解决方法,确保开发效率
🚀 进阶提示
结合使用tmux或screen等终端多路复用器,即使网络中断也能保持远程会话,进一步提升远程开发体验。