歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> CentOS配置ssh無密碼登錄的注意點

CentOS配置ssh無密碼登錄的注意點

日期:2017/2/28 14:35:50   编辑:Linux教程

前提配置:使用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_dsaid_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 [email protected] 'cat - >> ~/.ssh/authorized_keys',並輸入master.hadoop主機的hadoop用戶的登錄密碼,即可將公鑰發送到master.hadoop並追加到其authorized_keys文件中。

如上圖,已經可以在slave.hadoop主機使用ssh無密碼登錄主機master.hadoop了。

CentOS 下SSH無密碼登錄的配置 http://www.linuxidc.com/Linux/2012-05/61346.htm

更多CentOS相關信息見CentOS 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=14

Copyright © Linux教程網 All Rights Reserved