VS Code SSH扩展连接时用户名前多$符号致连接失败怎么办
问题原因
该故障是SSH连接参数传递时用户名被错误拼接了$前缀导致的:VS Code Remote-SSH扩展会读取SSH配置或用户输入的连接参数,将用户名直接传给底层SSH客户端,如果参数字段里误写入了$符号,客户端就会把带前缀的字符串识别为目标登录账号,最终触发不存在对应用户的验证失败。
修复步骤
- 调出VS Code命令面板(Windows/Linux快捷键
Ctrl+Shift+P,macOS为Cmd+Shift+P),执行Remote-SSH: Open SSH Configuration File,选择当前生效的SSH配置文件(通常为用户目录下的.ssh/config) - 定位到需要连接的主机对应的配置块,检查
User配置项的值,删除用户名前多余的$符号:错误配置参考:
Host dev-server HostName 10.0.0.25 User $work Port 22修正后配置:
Host dev-server HostName 10.0.0.25 User work Port 22 - 如果是直接在连接输入框手输SSH地址触发的连接,检查输入内容是否误给用户名加了
$前缀,比如错输为ssh $work@10.0.0.25——Shell中$开头的内容会被识别为变量,若对应变量无赋值,就会出现异常的用户名传递 - 修改完成后,执行命令面板的
Remote-SSH: Kill VS Code Server on Host选项,选中之前连接失败的主机清理残留进程,重新发起连接即可正常进入密码验证流程。
内容的提问来源于stack exchange,提问作者WieselWiesel
相关产品推荐
相关产品推荐

