IDE 通过 ssh 连接远程服务器

类似于 Cursor / Trae / Warp 等,与服务器 ssh 连接的配置都在 C:\Users\Admin\.ssh\config

Host abc
    HostName aaa.bbb.ccc
    User xxx
    Port 22
    IdentityFile ~/.ssh/id_rsa

把公钥 id_rsa.pub 内容加入服务器 ~/.ssh/authorized_keys 后,用 warp 直接 ssh abc 就可以连接

Trae 或 Cursor 会在服务器端创建这些目录

目录 所属工具 用途
.trae-cn/ Trae 存储 Trae 的客户端配置、会话缓存和临时文件
.trae-cn-server/ Trae 服务器端组件,包含后台服务、AI 模型或协作插件
.trae-aicc/ Trae AI 代码补全(AICC = AI Code Completion)相关的缓存或配置
.cursor-server/ Cursor Cursor 的服务器端组件,用于远程开发支持(如实时协作、AI 辅助等)

要连接的话以 Ctrl+Shift+P 唤起命令面板,输入 ssh 选择 Host 为 abc 即可

Trae 不支持低版本 glibc,而这玩意又不能随便升级,所以 CentOS 就别用了

Trae-glibc.png

Cursor 也有问题,远端如果是 fish / tcsh / csh 作为登录 shell,大概率连接时会报错

Host abc-bash # use bash
    HostName aaa.bbb.ccc
    User xxx
    Port 22
    IdentityFile ~/.ssh/id_rsa
    RemoteCommand /bin/bash
    RequestTTY yes

这样改也不生效,不过使用 Warp 输入 ssh abc-bash 倒是可以直接使用 bash 连接

吐槽见:https://github.com/microsoft/vscode-remote-release/issues/2509

此时需要打开服务器端 ~/.cursor-server/data/Machine/settings.json,添加

{
"terminal.integrated.profiles.linux": {
  "fish": {
    "path": "/usr/bin/fish",
    "overrideName": true
  }
},
"terminal.integrated.defaultProfile.linux": "bash"
}

这样就强制指定 Cursor 连接时用 bash