這種事情讓我發瘋——希望有明顯的解決方案。在 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”