使用密钥文件从 Windows 客户端通过 CL 进行 ssh 连接到 Linux 服务器

使用密钥文件从 Windows 客户端通过 CL 进行 ssh 连接到 Linux 服务器

这种事情让我抓狂 - 希望有明显的解决方案。在 Win 10 笔记本电脑和我的一台 Linux 服务器上都有密钥。如果我使用 puTTY,我可以明确浏览笔记本电脑上的密钥文件,效果很好。

但是,使用 CL 的 ssh 进行密钥交换时,运气一点也不好。这就是我被困住的地方……

1\ Linux 服务器使用非标准端口(例如 1234)。假设 Linux 服务器上的用户名是 bob。

2\ 如果我使用简单密码认证,而不是密钥交换,那么

ssh -p 1234 [email protected]

完美运行。

3\ 但是,如果我尝试从命令行 ssh,指向密钥文件,就没有那么幸运了。笔记本电脑上的用户目录有一个空格(例如,c:\users\Bob Jones...),这可能是问题的一部分(也可能不是)。ppk(我将其称为 server.ppk)位于 c:\users\Bob Jones.ssh

因此,从理论上讲,以下操作应该可行(再次强调,从理论上讲......)

ssh  -i "C:\Users\Bob Jones/.ssh/server"  [email protected]  -p 1234

但是...没有运气。前面的代码(以及我尝试过的各种排列)会引发如下错误:

 Warning: Identity file C:\Users\Bob Jones/.ssh/server' not accessible: No such file or directory.
 [email protected]: Permission denied (publickey,gssapi-keyex,gssapi-with-mic). 

那么,我忽略了什么显而易见的东西?密钥文件在那里,而且有效。完美使用 puTTY,我可以使用 GUI 明确指向密钥。但如果我能弄清楚如何使用 CL 让事情正常运作,那就太糟糕了。

提前致谢...

答案1

Windows 是否理解“C:\Users\Bob Jones/.ssh/server”与“C:\Users\Bob Jones.ssh\server.ppk”

相关内容