問題描述
在centos下,使用公鑰配置非root用戶免密登錄后,嘗試登錄時仍需輸入密碼。
解決思路
- 在服務器端使用
/usr/sbin/sshd -d -p 23
在23端口以debug模式在前台啟動sshd; - 在客戶端使用
ssh -p 23 user@server_ip
嘗試連接,查看服務端報錯信息。
上述操作后,服務端報錯提示~/.ssh/authorized_keys
因為文件權限問題不能打開,說明是authorized_keys文件權限有問題。
將~/.ssh
權限設置成700,~/.ssh/authorized_keys
設置成600,再次在debug端口嘗試連接。
debug端口可以連接成功,但是默認22端口仍然連接失敗,在/etc/ssh/sshd_config
中將LogLevel改為Debug,重啟sshd服務,再次嘗試連接,同時使用tail -f /var/log/secure
實時查看日志信息。
仍然報錯提示~/.ssh/authorized_keys
因為文件權限問題不能打開。
考慮是SELinux權限問題導致。在用戶路徑下執行restorecon -FRv ~/.ssh
重置ssh路徑的安全上下文,再次嘗試無密碼連接,成功