VSCode远程SSH无法识别私钥文件

use*_*738 2 ssh visual-studio-code

已经尝试解决这个问题几个小时了。已经在网上搜索并按照教程进行操作,但没有任何效果。

在我的 Windows 本地计算机中,我在 VSCode 中安装了远程 SSH 插件。我正在尝试连接到我的远程 Linux 服务器。

我的配置文件如下所示(为了安全起见,将主机名和用户更改为虚拟值)。

Host RemoteServer
    HostName remote.server.infra
    User user123
    IdentityFile ~/.ssh/privkey
Run Code Online (Sandbox Code Playgroud)

尝试连接到新主机时。一直提示输入密码。根据检查日志,它说

no such identity: C:\\Users\\user123/.ssh/privkey: No such file or directory
Run Code Online (Sandbox Code Playgroud)

这个 privkey 文件正是我在连接到远程服务器时在 Putty 中使用的文件。我缺少什么?

编辑:终于弄清楚了。我必须使用 puttygen 将我的私钥转换为 openssh 格式。

Von*_*onC 11

除了使用 openSSH 格式之外,我还将完整路径放入配置文件中:

\n
Host RemoteServer\n    HostName remote.server.infra\n    User user123\n    IdentityFile /c/Users/user123/.ssh/privkey\n
Run Code Online (Sandbox Code Playgroud)\n

请注意,SSH URL 将变为:

\n
ssh -Tv RemoteServer\n
Run Code Online (Sandbox Code Playgroud)\n

注:Ba\xc5\x9far S\xc3\xb6ker在注释中添加:

\n
\n

我还需要在我的路径中添加一个冒号。
\n它看起来像这样:

\n
 IdentityFile /c:/Users/username/.ssh/privatekey.pem\n
Run Code Online (Sandbox Code Playgroud)\n
\n
\n

注:reukiodo在评论中添加:

\n
\n

如果复制/粘贴私钥,它必须以换行符结尾,否则也会导致相同的错误。

\n
\n

提醒:只有公钥可以复制到其他地方。私钥应保留在您的计算机上。

\n