这种事情让我抓狂 - 希望有明显的解决方案。在 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”