您好,登錄后才能下訂單哦!
怎么在CentOS中配置ssh無密碼登錄?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
前提配置:使用root登錄修改配置文件:/etc/ssh/sshd_config,將其中三行的注釋去掉,如下:
然后重啟ssh服務:service sshd restart。最后退出root,以下所有操作都在hadoop用戶下進行。
主機信息如下:
如上圖,當前登錄用戶為hadoop,主機名為slave.hadoop,與master.hadoop主機的網絡是通暢的。
當前未配置RSA校驗的情況下,用ssh連接主機是需要輸入密碼的,如下:
如上圖,執行ssh master.hadoop后會停留在下一行等待使用者輸入master.hadoop主機hadoop用戶的登錄密碼。
為避免此情況發生,進行如下操作以讓主機在ssh連接時自動驗證后登錄。
首先,執行命令 ssh-keygen -t dsa 生成密鑰對,如下:
如上圖,密鑰文件按照默認方式,在主目錄/home/hadoop下的隱藏目錄.ssh中生成,分別為id_dsa和id_dsa.pub,后者為公鑰,如下圖:
根據配置文件/etc/ssh/sshd_config中的AuthorizedKeysFile項的取值:.ssh/authorized_keys,公鑰需要導入到該文件中才能實現校驗,如下:
至此離成功只有一步之遙了。CentOS默認新生成的文件權限為:-rw-rw-r--,即自己和群組用戶都可以重寫該文件,這被認為是不夠安全的。如上圖,由于此前我的主機上并未存在authorized_keys文件,現在由于重定向輸出新建了該文件,因此該文件的默認權限為-rw-rw-r--仍舊不夠安全。需把群組中的w權限去掉。可使用命令:chmod 644 authorized_keys。網上的資料中,都是直接chmod 600 authorized_keys,即群組和其他用戶連讀取文件內容的權限都沒有,當然這樣是最安全的,但是系統只要求到除了自己之外其他所有用戶均不能改動文件就可以了。
如上圖,slave.hadoop已經能夠使用ssh無密碼登錄本機了。那么如何讓它無密碼登錄到Master.hadoop主機中呢?當然是分發公鑰文件id_dsa.pub的內容到master.hadoop主機上了。如下圖:
如上圖,執行命令 cat ~/.ssh/id_dsa.pub | ssh hadoop@master.hadoop 'cat - >> ~/.ssh/authorized_keys',并輸入master.hadoop主機的hadoop用戶的登錄密碼,即可將公鑰發送到master.hadoop并追加到其authorized_keys文件中。
關于怎么在CentOS中配置ssh無密碼登錄問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。