
我正在嘗試在我的遠端伺服器上設定一個新用戶。
我建立了一個具有 sudo 存取權限的新使用者。
adduser username
usermod -aG sudo username
然後在/etc/ssh/sshd_config
文件中我允許該使用者進行 ssh 存取。
AllowUsers username root
然後我重新啟動了 ssh。
service sshd reload
最後,我以使用者身分登入並將我的公開 ssh 金鑰複製到~/.ssh/authorized_keys
檔案中。
Permission denied (publickey)
但當我嘗試以該使用者身分進行 ssh 時,我仍然會遇到這種情況。
ssh [email protected]
我能夠以 root 使用者身分進行 ssh,沒有任何問題。
ssh [email protected]
我錯過了什麼嗎?
答案1
來自SSH 標籤維基:
故障排除
如果公鑰驗證不起作用:請確保在伺服器端,您的主目錄 (~)、~/.ssh 目錄和 ~/.ssh/authorized_keys 檔案都只能由其擁有者寫入。特別是,它們中的任何一個都不能被群組寫入(即使該使用者單獨在群組中)。 chmod 755 或 chmod 700 可以,chmod 770 不行。
出現問題時應檢查哪些內容:
- 運行 ssh -vvv 可以看到大量調試輸出。如果您發布問題詢問為什麼無法使用 ssh 連接,請包含此輸出(您可能想要匿名主機名稱和使用者名稱)。
- 如果可以,請檢查伺服器日誌,通常位於 /var/log/daemon.log 或 /var/log/auth.log 或類似位置。
- 如果公鑰驗證不起作用,請再次檢查權限,尤其是群組位元(請參閱上文)。