問題描述
今天配置ssh免密登入時,使用ssh-keygen
命令成功生成了公鑰和私鑰,並且也執行了ssh-copy-id
機器位址 將公鑰新增到了伺服器的authorized_keys檔案中。緊接著用service sshd restart
命令重啟了ssh服務,但當執行 ssh 登入命令時仍然需要密碼。
解決方案
一、檢視系統安全日誌,定位問題
執行sudo cat /var/log/secure
檢視系統的安全日誌,然後再安全日誌中看到ssh登入過程中提示了如下錯誤:
二、解決ssh authentication refused問題
從日誌中我們已經分析出了錯誤的具體原因,提示我們/home/skyler
目錄的屬主和許可權配置不當。然後上網查詢資料得知:ssh不希望home目錄和~/.ssh目錄對組有寫許可權,於是執行以下命令進行更改:
chmod g-w /home/skyler
執行完成後,重啟ssh服務再次執行ssh 登入時發現已經實現了免密登入,問題解決:
擴充套件說明
ssh進行認證的過程中除了對使用者目錄有許可權要求外,對.ssh資料夾和authorized_keys檔案同樣也要限制,如果日誌中提示這兩個的問題,可以通過如下方式進行修改:
chmod 700 /home/skyler/.ssh
chmod 600 /home/skyler/.ssh/authorized_keys
ssh登入過程如果出現問題除了檢視上述/var/log/secure
檔案外,還可以通過在 ssh 命令後新增除錯引數-vvv
來檢視除錯資訊(eg: ssh -vvv localhost 便會以除錯模式來執行本次ssh命令),以此來更好的定位問題。 成功解決 ssh免密登入
一.在本地機器生成秘鑰執行 ssh keygen t rsa c hinata 一路回車即可 t 指定加密演算法 c 說明性文字,習慣上寫自己的郵箱二.自動將公鑰id rsa.pub傳輸到伺服器上執行 ssh copy id i ssh id rsa.pub 伺服器使用者名稱 伺服器ip位址 i 指...
SSH 免密登入配置
有兩種方式 私鑰登入和公鑰登入 私鑰登入 1 在主機a上生成秘鑰對 ssh keygen t rsa c 注釋文字 將生成的秘鑰對中的私鑰id rsa 複製到將要登入a機器的主機檔案中一班使用字尾.pem,例如 cat id rsa my.pem 2 將上述私鑰檔案交給授權登入的主機,注意,私鑰很重...
SSH免密登入配置
進入到hadoop使用者家目錄 cd 檢視當前目錄.ssh 隱藏檔案 ls al 進入ssh cd ssh 執行命令生成私鑰id rsa 公鑰 id rsa.pub ssh keygen t rsa 將公鑰內容放入hadoop1的authorized keys 檔案 ssh copy id hado...