五篇博文講透大數據僞分佈式環境搭建——ssh免密登錄

2:配置 SSH 免密登錄

簡述
  如果按照上一篇博文操作的鐵汁應該已經完成了 JDK 的安裝和基本配置,每篇博文緩緩相扣,如果真的想學到對應的東西,請回戳上一篇仔細閱讀大數據環境前置準備jdk的配置完成的鐵汁請繼續往下閱讀雖然這個節點已經可以正常使用了,但是依然存在諸多問題,請聽我一一道來。

(1)實際工作中,服務器被放置在機房中,同時受到地域和管理的限制,開發人員通常不會進入機房直接上機操作,而是通過遠程連接服務器進行相關操作。
  (2)在集羣開發中,主節點通常會對集羣中各個節點頻繁地訪問,就需要不斷輸入目標服務器的用戶名和密碼,這種操作方式非常麻煩並且還會影響集羣服務的連續運行。

爲了解決上述問題,可以通過配置 SSH 服務來分別實現遠程登錄SSH 免密登錄功能。

1. SSH 概念

SSH 爲 Secure Shell(安全外殼協議) 的縮寫。
  SSH 是一種網絡協議,用於計算機之間的加密登錄。很多 ftp、 pop 和 telnet 在本質上都是不安全的,因爲它們在網絡上用明文傳送口令和數據,別有用心的人非常容易就可以截獲這些口令和數據。
  SSH 就是專門爲遠程登錄會話和其他網絡服務提供安全性的協議。

2. SSH 組成

SSH 是由客戶端和服務端的軟件組成的。
  服務端是一個守護進程(sshd),它在後臺運行並響應來自客戶端的連接請求。
  客戶端包含 SSH 程序以及像 scp(遠程拷貝)、 slogin(遠程登陸)、 sftp(安全文件傳輸)等其他的應用程序。

3. SSH 實現過程

具體原理流程如下圖所示:

Vditor

圖5

4. SSH 實現步驟

因爲我們搭建的是僞分佈式集羣,所以只准備一臺節點,我們可以將此節點即作爲服務器端,也作爲客戶機端,實現自己免密登錄自己。

要想實現此功能,首先需要在此節點上生成 root 用戶的公鑰,然後將生成的公鑰文件複製到公鑰庫文件 authorized_keys 中,然後將公鑰庫文件 authorized_keys 放置到/root/.ssh 目錄下,這樣以後每次使用 root 登錄本機的時候,就不需要輸入密碼了。具體操作如下:

(1)下載 SSH 服務並啓動

SSH 服務(自己手動安裝openssh-server 和 openssh-clients),我的安裝好了,所以此處直接啓動即可:

/usr/sbin/sshd

SSH 服務啓動成功後,會默認開啓 22(SSH 的默認端口)端口號,可以使用以下命令進行查看:

netstat -tnulp

執行命令,可以看到 22 號端口已經開啓,證明我們 SSH 服務啓動成功:

Vditor

只要將 SSH 服務啓動成功,我們就可以進行遠程連接訪問了。開發人員比較常用的遠程連接工具有 Xshell、Finalshell 等。接下來我們繼續配置 SSH 免密鑰登錄。

(2)首先生成密鑰對,使用命令:

ssh-keygen
## 或者
ssh-keygen -t rsa

語法解析:

  • ssh-keygen:生成、管理和轉換認證密鑰。
  • -t:指定密鑰類型,包括 RSA 和 DSA 兩種密鑰,默認 RSA。

上面一種是簡寫形式,提示要輸入信息時不需要輸入任何東西,直接回車三次即可

Vditor

從打印信息中可以看出,私鑰 id_rsa 和公鑰 id_rsa.pub 都已創建成功,並放在 /root/.ssh 目錄中:

Vditor

圖8

(3)將公鑰放置到授權列表文件 authorized_keys 中,使用命令:

cp id_rsa.pub authorized_keys

驗證:

Vditor

圖9

(4)修改授權列表文件 authorized_keys 的權限,使用命令:

chmod 600 authorized_keys

設置擁有者可讀可寫,其他人無任何權限(不可讀、不可寫、不可執行)。

Vditor

圖10

(5)驗證免密登錄是否配置成功,使用如下命令:

ssh localhost  
## 或者
ssh IP地址

其中,localhost 意爲“本地主機”,我們可以使用hostname命令進行查看;IP 地址,我們可以使用ifconfig命令進行查看。

  • 查看本機主機名:

Vditor

  • 遠程登錄成功後,若想退出,可以使用 exit 命令:

Vditor

img
概念諸多,鐵汁麼慢慢理解,希望能夠滿足您的需求
注:配備大數據環境中最關鍵的一篇博文,希望大家喫透,如果這一篇博文沒有喫透,後續環境的配置會相當麻煩,如有疑問歡迎留言討論或者私信諮詢
@Author:HaoXuan

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章