如何修改VS Code中Remote-SSH的默认命令以移除-T参数?
修复VS Code Remote-SSH连接时的"-T"参数问题
VS Code Remote-SSH默认添加的-T参数会禁用伪终端分配,导致连接失败,手动移除该参数后连接恢复正常,以下是几种可行的修复方案:
方案一:关闭本地服务器模式
- 打开VS Code设置界面(快捷键
Ctrl+,或Cmd+,) - 在搜索框输入
remote.SSH.useLocalServer,将该选项设置为false - 重启VS Code后重新发起远程连接,此时SSH命令将不再自动附加
-T参数
方案二:在SSH配置中强制请求终端
- 打开VS Code的远程资源管理器,右键点击目标主机,选择「配置SSH主机」
- 在打开的
~/.ssh/config文件中,为目标主机添加RequestTTY force配置,示例:Host xxx HostName 你的服务器IP或域名 User 你的服务器用户名 RequestTTY force - 保存配置后重新连接,该配置会强制分配伪终端,抵消
-T参数的禁用效果
方案三:自定义SSH连接参数
- 在VS Code设置中搜索
remote.SSH.args,点击「编辑 in settings.json」 - 在settings.json中替换为不含
-T的参数列表,示例:"remote.SSH.args": [ "-v", "-D", "${tmpPort}", "-o", "ConnectTimeout=30" ] - 保存设置并重启VS Code,连接时将使用自定义的参数,不再包含
-T
如果以上方案都无效,建议将Remote-SSH扩展更新到最新版本,部分旧版本的参数逻辑存在bug,更新后可能自动解决问题。
内容的提问来源于stack exchange,提问作者pie Ostrich
相关产品推荐
相关产品推荐

