CentOS配置ssh無密碼登錄注意事項

前提配置:使用root登錄修改配置文件:/etc/ssh/sshd_config,將其中三行的注釋去掉,如下:
然后重啟ssh服務(wù):service sshd restart。最后退出root,以下所有操作都在hadoop用戶下進(jìn)行。
主機(jī)信息如下:
如上圖,當(dāng)前登錄用戶為hadoop,主機(jī)名為slave.hadoop,與master.hadoop主機(jī)的網(wǎng)絡(luò)是通暢的。
當(dāng)前未配置RSA校驗(yàn)的情況下,用ssh連接主機(jī)是需要輸入密碼的,如下:
如上圖,執(zhí)行ssh master.hadoop后會停留在下一行等待使用者輸入master.hadoop主機(jī)hadoop用戶的登錄密碼。
為避免此情況發(fā)生,進(jìn)行如下操作以讓主機(jī)在ssh連接時自動驗(yàn)證后登錄。
首先,執(zhí)行命令 ssh-keygen -t dsa 生成密鑰對,如下:
如上圖,密鑰文件按照默認(rèn)方式,在主目錄/home/hadoop下的隱藏目錄.ssh中生成,分別為id_dsa和id_dsa.pub,后者為公鑰,如下圖:
根據(jù)配置文件/etc/ssh/sshd_config中的AuthorizedKeysFile項的取值:.ssh/authorized_keys,公鑰需要導(dǎo)入到該文件中才能實(shí)現(xiàn)校驗(yàn),如下:
至此離成功只有一步之遙了。CentOS默認(rèn)新生成的文件權(quán)限為:-rw-rw-r--,即自己和群組用戶都可以重寫該文件,這被認(rèn)為是不夠安全的。如上圖,由于此前我的主機(jī)上并未存在authorized_keys文件,現(xiàn)在由于重定向輸出新建了該文件,因此該文件的默認(rèn)權(quán)限為-rw-rw-r--仍舊不夠安全。需把群組中的w權(quán)限去掉??墒褂妹睿?strong>chmod 644 authorized_keys。網(wǎng)上的資料中,都是直接chmod 600 authorized_keys,即群組和其他用戶連讀取文件內(nèi)容的權(quán)限都沒有,當(dāng)然這樣是最安全的,但是系統(tǒng)只要求到除了自己之外其他所有用戶均不能改動文件就可以了。
如上圖,slave.hadoop已經(jīng)能夠使用ssh無密碼登錄本機(jī)了。那么如何讓它無密碼登錄到Master.hadoop主機(jī)中呢?當(dāng)然是分發(fā)公鑰文件id_dsa.pub的內(nèi)容到master.hadoop主機(jī)上了。如下圖:
如上圖,執(zhí)行命令 cat ~/.ssh/id_dsa.pub | ssh hadoop@master.hadoop 'cat - >> ~/.ssh/authorized_keys',并輸入master.hadoop主機(jī)的hadoop用戶的登錄密碼,即可將公鑰發(fā)送到master.hadoop并追加到其authorized_keys文件中。
如上圖,已經(jīng)可以在slave.hadoop主機(jī)使用ssh無密碼登錄主機(jī)master.hadoop了。
相關(guān)文章
使用Putty(SSH)登錄管理CentOS服務(wù)器的方法
在linux服務(wù)器遠(yuǎn)程管理工具,一般我們首選Putty,他簡單小巧,很多都喜歡用這個,不過好像有中文亂碼問題,我們稍后為大家介紹2013-06-07通過SSH證書實(shí)現(xiàn)Putty免密碼登錄CentOS的方法
之前介紹過如何使用Putty管理VPS,但Putty沒有保存密碼的功能,不過它可以通過SSH證書實(shí)現(xiàn)免密碼登錄2013-06-07- SecureCRT 用ssh key登錄配置方法分享,需要的朋友可以參考下2012-10-13
- SSH 為 Secure Shell 的縮寫,由 IETF 的網(wǎng)絡(luò)工作小組(Network Working Group)所制定;SSH 為建立在應(yīng)用層和傳輸層基礎(chǔ)上的安全協(xié)議。2011-03-25
- 這篇文章主要介紹了Centos6.5 中 ssh免密碼登錄配置的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-10-20