You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决VS Code Remote SSH断开后重连反复提示密码的问题

根因说明
  • SSH连接无保活机制,长时间无流量触发服务器/本地的SSH会话超时断开,残留的远程VS Code Server进程进入僵死状态,占用对应连接端口与锁文件,导致重连时即使密码正确也无法完成握手认证
  • 远程VS Code Server异常断开时未自动清理运行时产生的临时锁文件,新连接尝试读取旧锁文件导致认证逻辑卡死
  • 密码认证的会话缓存异常失效,重连时无法复用已有认证上下文,触发反复弹出密码输入框的问题
永久配置解决方案

1. 配置SSH保活机制避免超时断开

本地VS Code侧配置

打开VS Code设置,搜索Remote SSH: Server Alive Interval,设置为30(单位为秒,每30秒向服务器发送一次保活包),再搜索Remote SSH: Server Alive Count Max,设置为10(最多连续10次保活无响应才判定连接断开)。
也可以直接编辑settings.json添加如下配置:

"remote.SSH.serverAliveInterval": 30,
"remote.SSH.serverAliveCountMax": 10

远程服务器侧配置

使用root权限编辑/etc/ssh/sshd_config文件,添加或修改以下参数:

ClientAliveInterval 30
ClientAliveCountMax 10

修改完成后执行systemctl restart sshd使配置生效。

2. 优化远程VS Code Server异常处理逻辑

在VS Code的settings.json中添加以下配置,解决僵死进程、锁文件导致的重连失败问题:

  • 连接失败时自动清理旧的Server进程:"remote.SSH.killServerOnFailure": true
  • 禁用连接复用避免认证上下文冲突:"remote.SSH.enableConnectionReuse": false
  • 关闭后台自动更新避免更新操作触发连接断开:"remote.SSH.enableAutoInstall": false(需要手动更新Server时临时打开即可)

3. 改用SSH密钥认证代替密码登录

本地生成SSH密钥对后,将公钥上传到远程服务器的~/.ssh/authorized_keys文件中,可完全避免重连时反复弹出密码输入框的问题,同时提升认证效率。

4. 修复VS Code Server重复安装问题

如果每次重连都需要执行长时间的安装脚本,说明远程~/.vscode-server目录权限异常,执行以下命令修复即可:

sudo chown -R $(whoami):$(whoami) ~/.vscode-server
chmod -R 755 ~/.vscode-server

权限修复后后续连接无需重复安装Server。

诊断日志生成方法

如需进一步排查问题,可按以下步骤获取完整诊断日志:

  1. 打开VS Code命令面板,执行Remote-SSH: Open SSH Configuration File,选中对应远程主机的配置项,添加参数LogLevel DEBUG3
  2. 打开命令面板执行Toggle Developer Tools,切换到Console标签页即可看到全链路的Remote SSH连接日志,复制对应时间段的日志即可用于问题分析
  3. 也可以执行命令面板的Remote-SSH: Show Log命令,选择Remote - SSH输出通道,查看连接过程的详细分步日志

内容的提问来源于stack exchange,提问作者Philip Maybank

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 13:15:06