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

问题描述 投票:0回答:2

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

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

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

Host RemoteServer
    HostName remote.server.infra
    User user123
    IdentityFile ~/.ssh/privkey

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

no such identity: C:\\Users\\user123/.ssh/privkey: No such file or directory

这个私钥文件正是我在连接到远程服务器时在 Putty 中使用的文件。 我错过了什么?

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

visual-studio-code ssh
2个回答
13
投票

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

Host RemoteServer
    HostName remote.server.infra
    User user123
    IdentityFile /c:/Users/user123/.ssh/privkey

请注意,SSH URL 将变为:

ssh -Tv RemoteServer

注:Başar Söker添加了评论

我还需要在路径中添加冒号。
这是它的样子:

 IdentityFile /c:/Users/username/.ssh/privatekey.pem

注:reukiodo添加评论

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

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


1
投票

如果您使用putty生成了公钥私钥对,则需要使用putty生成转换来转换私钥,否则它将不起作用,并且会显示公钥访问被拒绝

© www.soinside.com 2019 - 2024. All rights reserved.