我可以透過 ssh 使用使用者連接到伺服器root
,但無法使用我建立的新使用者 name 登入server
。我能做的就是登錄root
,然後執行su server
命令。
這兩者有什麼差別?為什麼其中一個有效而另一個無效?
這是我嘗試使用伺服器登入時收到的錯誤:
已斷開連線:無支援的身份驗證可用。 (伺服器發送:公鑰)
我添加了AllowUsers server
一行/etc/ssh/sshd_config
但它仍然不起作用。
答案1
伺服器正在等待該用戶的 SSH 金鑰,但該金鑰不存在。
當您以 root 身分登入時,您可能會從鍵盤輸入使用者名稱和密碼,這不需要伺服器上的私鑰。
然而,對於您的新用戶,聽起來您已將 putty 設定為僅使用 SSH key/cert 登錄,但尚未在「伺服器」用戶主目錄中建立相應的私鑰。
這些連結應該可以幫助您解決問題:
https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys--2
http://www.howtoing.com/ssh-passwordless-login-using-ssh-keygen-in-5-easy-steps/
確保您也正確設定了自動用戶名
“連接->數據”
在會話的 putty 設定中。
另請注意,如果您在 Windows 上使用 putty 工俱生成證書,則需要先轉換證書才能在 Linux 上使用它,反之亦然,如果您在 Linux 上生成證書然後將其複製到windows要使用putty,您需要以其他方式轉換它。
此連結解釋了用於轉換它們的過程: