我已经试着解决这个问题好几个小时了。已经在网上搜索并遵循教程,但没有任何工作。
在我的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格式。
除了使用openSSH格式外,我还将完整路径放在配置文件中:
Host RemoteServer
HostName remote.server.infra
User user123
IdentityFile /c/Users/user123/.ssh/privkey
注意SSH URL变成:
ssh -Tv RemoteServer
注意:ba
我还需要添加一个冒号到我的路径。
效果如下:IdentityFile /c:/Users/username/.ssh/privatekey.pem
注:rekiodo在注释中添加:
如果你复制/粘贴私钥,它必须以换行符结束,否则也会导致同样的错误。
提示:只有公钥可以复制到其他地方。私钥应该保存在您的计算机上。
如果您使用putty生成了公私钥对,则需要使用putty生成转换来转换私钥,否则它将无法工作,并且它将显示拒绝公钥访问