自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Hadoop中ssh+IP、ssh+別名免秘鑰登錄配置

大數(shù)據(jù) Hadoop
Hadoop運(yùn)行過程中需要管理遠(yuǎn)端Hadoop守護(hù)進(jìn)程,在Hadoop啟動以后,NameNode是通過SSH(Secure Shell)來啟動和停止各個DataNode上的各種守護(hù)進(jìn)程的。

[[194734]]

1、為什么要進(jìn)行 SSH 無密碼驗證配置?

Hadoop運(yùn)行過程中需要管理遠(yuǎn)端Hadoop守護(hù)進(jìn)程,在Hadoop啟動以后,NameNode是通過SSH(Secure Shell)來啟動和停止各個DataNode上的各種守護(hù)進(jìn)程的。這就必須在節(jié)點(diǎn)之間執(zhí)行指令的時候是不需要輸入密碼的形式,故我們需要配置SSH運(yùn)用無密碼公鑰認(rèn)證的形式,這樣NameNode使用SSH無密碼登錄并啟動DataName進(jìn)程,同樣原理,DataNode上也能使用SSH無密碼登錄到NameNode。

2、為什么要使用 SSH?

在linux系統(tǒng)中,ssh是遠(yuǎn)程登錄的默認(rèn)工具,因為該工具的協(xié)議使用了RSA/DSA的加密算法.該工具做linux系統(tǒng)的遠(yuǎn)程管理是非常安全的。telnet,因為其不安全性,在linux系統(tǒng)中被擱置使用了。

3、SSH 原理

Master(NameNode | JobTracker)作為客戶端,要實(shí)現(xiàn)無密碼公鑰認(rèn)證,連接到服務(wù)器Salve(DataNode | Tasktracker)上時,需要在Master上生成一個密鑰對,包括一個公鑰和一個私鑰,而后將公鑰復(fù)制到所有的Slave上。當(dāng)Master通過SSH連接Salve時,Salve就會生成一個隨機(jī)數(shù)并用Master的公鑰對隨機(jī)數(shù)進(jìn)行加密,并發(fā)送給Master。Master收到加密數(shù)之后再用私鑰解密,并將解密數(shù)回傳給Slave,Slave確認(rèn)解密數(shù)無誤之后就允許Master進(jìn)行連接了。這就是一個公鑰認(rèn)證過程,其間不需要用戶手工輸入密碼。重要過程是將客戶端Master復(fù)制到Slave上。

4、配置過程

我們這里有三臺機(jī)器,分別是:

hostname ipaddress    subnet mask geteway

1、 master     192.168.146.200    255.255.255.0      192.168.146.2

2、 slave1      192.168.146.201    255.255.255.0      192.168.146.2

3、 slave2      192.168.146.202    255.255.255.0      192.168.146.2

那么我們想要的結(jié)果是在 master 機(jī)器上能不輸入密碼直接登錄到 slave1 和 slave2 機(jī)器上。反之在 slave1 上能不輸入密碼登錄到 master 和 slave2 機(jī)器上。

首先我們配置從 master 機(jī)器上不輸入密碼登錄到 slave1 機(jī)器上。

注意:這幾臺機(jī)器我們都以 hadoop 用戶登錄進(jìn)去。

第一步:確認(rèn)系統(tǒng)已經(jīng)安裝了 SSH

我們需要兩個服務(wù),ssh和rsync??梢酝ㄟ^下面命令查看結(jié)果顯示如下:

  1. rpm –qa | grep openssh 
  2. rpm –qa | grep rsync 

出現(xiàn)如下信息,則已經(jīng)安裝了SSH


如果沒有安裝 ssh 和 rsync,則通過下面的命令安裝

  1. yum install ssh 安裝SSH協(xié)議 
  2. yum install rsync (rsync是一個遠(yuǎn)程數(shù)據(jù)同步工具,可通過LAN/WAN快速同步多臺主機(jī)間的文件) 
  3. service sshd restart 啟動服務(wù) 

要確保所有的機(jī)器都安裝 SSH

第二步:master 機(jī)器上生成 秘鑰對

在 master 機(jī)器上輸入一下命令:

  1. ssh-keygen –t rsa –P '' 

這條命令是生成無密碼秘鑰對,rsa 是加密算法,-P '' 表示密碼為空。詢問其保存路徑時直接回車采用默認(rèn)路徑。生成的密鑰對:id_rsa和id_rsa.pub,默認(rèn)存儲在"/home/hadoop/.ssh"目錄下。

查看"/home/hadoop/"下是否有".ssh"文件夾,且".ssh"文件下是否有兩個剛生產(chǎn)的無密碼密鑰對。

第三步:把公鑰 id_rsa.pub追加到授權(quán)的key里面去。

  1. cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 

第四步:修改文件"authorized_keys"權(quán)限

權(quán)限的設(shè)置非常重要,因為不安全的設(shè)置安全設(shè)置,會讓你不能使用RSA功能,即在進(jìn)行登錄時仍然要求你輸入密碼。

  1. chmod 600 ~/.ssh/authorized_keys 

第五步:用root用戶登錄服務(wù)器修改SSH配置文件

注意這里要用 root 用戶登錄,不然沒有權(quán)限修改。

  1. vi /etc/ssh/sshd_config 

把文件中的下面幾條信息的注釋去掉:

RSAAuthentication yes # 啟用 RSA 認(rèn)證

PubkeyAuthentication yes # 啟用公鑰私鑰配對認(rèn)證方式

AuthorizedKeysFile .ssh/authorized_keys # 公鑰文件路徑(和上面生成的文件同)

第六步:重啟服務(wù)

  1. service sshd restart 

 

第七步:把公鑰復(fù)制所有的 slave 機(jī)器上

  1. scp ~/.ssh/id_rsa.pub 遠(yuǎn)程用戶名@遠(yuǎn)程服務(wù)器IP:~/ 

這里我們先復(fù)制到 slave1 機(jī)器上,IP 為 192.168.146.201

由上圖可知,我們將文件 in_rsa.pub 文件傳過去了,位置是 /home/hadoop。我們登錄到 slave1 機(jī)器上查看這個文件

第八步:如果是第一次使用該命令,則需要在"/home/hadoop/"下創(chuàng)建".ssh"文件夾,并且修改該文件夾權(quán)限為 “700”

如果不進(jìn)行,即使你按照前面的操作設(shè)置了"authorized_keys"權(quán)限,并配置了"/etc/ssh/sshd_config",還重啟了sshd服務(wù),在master能用"ssh localhost"進(jìn)行無密碼登錄,但是對slave1進(jìn)行登錄仍然需要輸入密碼,就是因為".ssh"文件夾的權(quán)限設(shè)置不對。這個文件夾".ssh"在配置SSH無密碼登錄時系統(tǒng)自動生成時,權(quán)限自動為"700",如果是自己手動創(chuàng)建,它的組權(quán)限和其他權(quán)限都有,這樣就會導(dǎo)致RSA無密碼遠(yuǎn)程登錄失敗。

  1. mkdir ~/.ssh      //創(chuàng)建 .ssh 的文件夾 
  2. chmod 700 ~/.ssh    //給 .ssh 文件夾權(quán)限 

第九步:將 master 的公鑰追加到 slave1 的授權(quán)文件 “authorized_keys” 中,并修改 該授權(quán)文件的權(quán)限,最后刪除該公鑰(保險起見)

  1. cat ~/id_rsa.pub >> ~/.ssh/authorized_keys 
  2. chmod 600 ~/.ssh/authorized_keys<br>rm -rf ~/id_rsa.pub 

第十步:在 slave1 機(jī)器上重復(fù) 第 五 、六 步操作。

  1. vi /etc/ssh/sshd_config 
  2. service sshd restart 

第十一步:驗證,我們在 master 機(jī)器上使用 SSH 無密碼登錄 slave1 機(jī)器

  1. ssh 遠(yuǎn)程服務(wù)器IP 

注意看我們兩個箭頭,說明已經(jīng)無密碼登錄到 slave1 機(jī)器上了。那么這樣就算大功告成。

因此剩下的我們就是重復(fù)的操作,將 master 的公鑰發(fā)送給 slave2,等等。

如果我們想直接 ssh 主機(jī)名 登錄,那么我們需要配置主機(jī)和 ip 地址的映射關(guān)系。

  1. vi /etc/hosts 

注意:我們可以使用命令

  1. ssh-copy-id -i ~/.ssh/id_rsa.pub 用戶名@對方機(jī)器IP (注意不要忘記了參數(shù)-i) 

那么這條命令的意思是:

  1. a) 先scp 將本機(jī)的id_rsa.pub復(fù)制到對方機(jī)器的.ssh目錄下   
  2. b) 在對方機(jī)器上執(zhí)行 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 導(dǎo)入公鑰 

這樣寫我們可以省略很多步驟。

注意:如果第一次使用該命令時,我們要先在 機(jī)器上創(chuàng)建 .ssh 的文件夾,并且賦予 700 的權(quán)限。

設(shè)置用 SSH 別名 登錄

用 hadoop 用戶登錄系統(tǒng),在 /.ssh 目錄下新建一個 config 文件(如果沒有就新建)

在其中增加:

保存后退出,然后 設(shè)置 config 權(quán)限為 600

完成后即可用 ssh host 來登錄主機(jī),而不需要輸入IP地址

責(zé)任編輯:武曉燕 來源: 博客園
相關(guān)推薦

2012-09-13 13:26:40

Hadoop集群

2023-09-13 22:54:06

2019-05-14 11:00:07

LinuxSSH別名

2018-03-09 09:45:52

LinuxSSH登錄導(dǎo)語

2012-09-28 10:12:55

2015-10-21 11:03:21

ssh登錄Linux

2018-04-10 09:06:45

LinuxSSH別名

2016-01-25 13:03:21

2018-01-22 09:12:18

Linuxbashssh

2011-08-22 10:40:07

SSH命令SSH命令

2013-01-28 17:17:53

SSH安全限制IP登錄

2012-06-28 10:52:06

Hadoop集群

2019-10-23 04:37:56

Jschsftp服務(wù)器

2022-10-25 11:06:43

2013-04-09 15:06:23

2023-03-13 10:25:53

2012-08-24 13:49:08

2024-06-20 12:35:36

2015-05-28 15:32:14

Linuxssh

2024-08-12 16:28:37

LinuxSSH密鑰
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號