今天配置SSH免密登陸時,使用 ssh-keygen
命令成功生成了公鑰和私鑰,而且也執行了 ssh-copy-id 機器地址
將公鑰添加到了服務器的authorized_keys文件中。緊接着用 service sshd restart
命令重啓了SSH服務,但當執行 ssh 登陸命令時仍然須要密碼。 安全
執行 sudo cat /var/log/secure
查看系統的安全日誌,而後再安全日誌中看到SSH登陸過程當中提示了以下錯誤:服務器
Authentication refused: bad ownership or modes for directory /home/skyler
ssh
從日誌中咱們已經分析出了錯誤的具體緣由,提示咱們 /home/skyler
目錄的屬主和權限配置不當。而後上網查找資料得知:SSH不但願home目錄和~/.ssh目錄對組有寫權限,因而執行如下命令進行更改:調試
chmod g-w /home/skylerrest
執行完成後,重啓SSH服務再次執行ssh 登陸時發現已經實現了免密登陸,問題解決: 日誌
SSH進行認證的過程當中除了對用戶目錄有權限要求外,對 .ssh 文件夾和 authorized_keys 文件一樣也要限制,若是日誌中提示這兩個的問題,能夠經過以下方式進行修改:code
chmod 700 /home/skyler/.ssh
chmod 600 /home/skyler/.ssh/authorized_keysblog
SSH登陸過程若是出現問題除了查看上述 /var/log/secure
文件外,還能夠經過在 ssh 命令後添加調試參數 -vvv
來查看調試信息(eg: ssh -vvv localhost
便會以調試模式來執行本次ssh命令),以此來更好的定位問題。圖片