Visual Studio 代码远程 SSH 使用 Windows 用户名而不是 ssh_config 中的用户名
Visual Studio Code Remote SSH uses Windows username instead of username in ssh_config
我在 Windows 7 上使用 Visual Studio 代码,以及 Microsoft 的远程 SSH 扩展。我添加了新的远程主机,并将配置保存在 ssh_config 文件中。
当我打开该文件时,一切看起来都正常,User
和 Host
值。但是,当扩展程序要求我输入密码时,我可以看到它没有使用 myuser@myremotehost.com ,写入 ssh_config 文件的值,而是使用正确的主机,但它也使用我的 windows 用户名,而不是我在 ssh_config 文件中设置的用户名。
有什么解决办法吗?
我发现了问题。当使用 Command Palette 和 运行 Remote-SSH: Connect to host 时,您可以添加您的主机,然后保存以备将来使用。现在,在保存配置时,它会询问您要将配置保存到哪个文件,我看到了 2 个选项:
- ssh_config(在 ProgramData 中)
- 配置(位于 Windows/Users/MYUSER/.ssh/)
现在,我首先尝试了后者,但是找不到文件,所以我选择了前者,即ssh_config。这就是我遇到这个问题的原因。
为了修复它,我转到 Windows/Users/MYUSER/.ssh/ 并在那里创建了一个空白文件。之后,我添加了新主机,将其保存到新创建的配置文件中,瞧,一切都按预期进行。
我在使用 Windows 10 时尝试了以下步骤:
- Install the Windows
OpenSSH Client
- Install the Windows
OpenSSH Server
- Run the VS Code as Administrator
而且有效。
我发现在 .ssh 配置文件的主机定义中包含用户名已为我解决了这个问题。
编辑C:/Users/me/.ssh/config的内容
来自:
Host bar
User foo
HostName bar
ForwardAgent yes
至:
Host foo@bar
User foo
HostName bar
ForwardAgent yes
我遇到了同样的问题,为我解决的是在 VS Code 的设置中禁用 remote.SSH.useLocalServer
。
来源:https://github.com/microsoft/vscode-remote-release/issues/2512
编辑:修正 link.
我所做的是这样的:
1- 添加新主机:ssh user_name@IP_Adrress
2- Select 连接到主机,它非常有效
我在 Windows 7 上使用 Visual Studio 代码,以及 Microsoft 的远程 SSH 扩展。我添加了新的远程主机,并将配置保存在 ssh_config 文件中。
当我打开该文件时,一切看起来都正常,User
和 Host
值。但是,当扩展程序要求我输入密码时,我可以看到它没有使用 myuser@myremotehost.com ,写入 ssh_config 文件的值,而是使用正确的主机,但它也使用我的 windows 用户名,而不是我在 ssh_config 文件中设置的用户名。
有什么解决办法吗?
我发现了问题。当使用 Command Palette 和 运行 Remote-SSH: Connect to host 时,您可以添加您的主机,然后保存以备将来使用。现在,在保存配置时,它会询问您要将配置保存到哪个文件,我看到了 2 个选项:
- ssh_config(在 ProgramData 中)
- 配置(位于 Windows/Users/MYUSER/.ssh/)
现在,我首先尝试了后者,但是找不到文件,所以我选择了前者,即ssh_config。这就是我遇到这个问题的原因。
为了修复它,我转到 Windows/Users/MYUSER/.ssh/ 并在那里创建了一个空白文件。之后,我添加了新主机,将其保存到新创建的配置文件中,瞧,一切都按预期进行。
我在使用 Windows 10 时尝试了以下步骤:
- Install the Windows
OpenSSH Client
- Install the Windows
OpenSSH Server
- Run the VS Code as Administrator
而且有效。
我发现在 .ssh 配置文件的主机定义中包含用户名已为我解决了这个问题。
编辑C:/Users/me/.ssh/config的内容 来自:
Host bar
User foo
HostName bar
ForwardAgent yes
至:
Host foo@bar
User foo
HostName bar
ForwardAgent yes
我遇到了同样的问题,为我解决的是在 VS Code 的设置中禁用 remote.SSH.useLocalServer
。
来源:https://github.com/microsoft/vscode-remote-release/issues/2512
编辑:修正 link.
我所做的是这样的:
1- 添加新主机:ssh user_name@IP_Adrress
2- Select 连接到主机,它非常有效