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 文件中。

当我打开该文件时,一切看起来都正常,UserHost 值。但是,当扩展程序要求我输入密码时,我可以看到它没有使用 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 时尝试了以下步骤:

  1. Install the Windows OpenSSH Client
  2. Install the Windows OpenSSH Server
  3. 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 连接到主机,它非常有效