如何實現(xiàn)兩臺服務(wù)器間無密碼的傳輸數(shù)據(jù)和操作

我們知道如果要向遠程服務(wù)器傳輸數(shù)據(jù)和操作必須輸入用戶名和密碼遠程登錄服務(wù)器 坦袍,或用FTP等協(xié)議十厢,都需要權(quán)限控制。

然而如果是兩臺服務(wù)器間的軟件需要通訊和數(shù)據(jù)傳輸捂齐,如hadoop集群中機器互訪蛮放,是不是每次也要輸入用戶名和密碼?那是不是很麻煩奠宜?下面介紹SSH來解決這個問題(不是JAVA中的SSH概念)

SSH是一種網(wǎng)絡(luò)協(xié)議包颁,用于計算機之間的加密登錄缝其。

如果一個用戶從本地計算機,使用SSH協(xié)議登錄另一臺遠程計算機徘六,我們就可以認(rèn)為,這種登錄是安全的榴都,即使被中途截獲待锈,密碼也不會泄露。

最早的時候嘴高,互聯(lián)網(wǎng)通信都是明文通信竿音,一旦被截獲,內(nèi)容就暴露無疑拴驮。1995年春瞬,芬蘭學(xué)者Tatu Ylonen設(shè)計了SSH協(xié)議,將登錄信息全部加密套啤,成為互聯(lián)網(wǎng)安全的一個基本解決方案宽气,迅速在全世界獲得推廣,目前已經(jīng)成為Linux系統(tǒng)的標(biāo)準(zhǔn)配置潜沦。

需要指出的是萄涯,SSH只是一種協(xié)議,存在多種實現(xiàn)唆鸡,既有商業(yè)實現(xiàn)涝影,也有開源實現(xiàn)。本文針對的實現(xiàn)是OpenSSH争占,它是自由軟件燃逻,應(yīng)用非常廣泛。

此外臂痕,本文只討論SSH在Linux Shell中的用法伯襟。如果要在Windows系統(tǒng)中使用SSH,會用到另一種軟件PuTTY

Hadoop運行過程中需要管理遠端Hadoop守護進程刻蟹,在Hadoop啟動以后扣汪,NameNode是通過SSH(Secure Shell)來啟動和停止各個DataNode上的各種守護進程的吠卷。

這就必須在節(jié)點之間執(zhí)行指令的時候是不需要輸入密碼的形式,故我們需要配置SSH運用無密碼公鑰認(rèn)證的形式,這樣NameNode使用SSH無密碼登錄并啟動DataName進程翔忽,同樣原理,DataNode上也能使用SSH無密碼登錄到NameNode帅戒。

下面就安裝總結(jié)一下網(wǎng)友和自己的經(jīng)驗膘魄。

環(huán)境

CentOS7.0

安裝

yum install ssh 安裝SSH協(xié)議

yum install rsync (rsync是一個遠程數(shù)據(jù)同步工具,可通過LAN/WAN快速同步多臺主機間的文件)

service sshd restart 啟動服務(wù)

查看安裝

rpm –qa |grep openssh

rpm –qa| grep rsync

為避免麻煩召调,每個服務(wù)器上都要裝膨桥。

配置Master無密碼登錄所有Salve

1)SSH無密碼原理

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

2)Master機器上生成密碼對

在Master節(jié)點上執(zhí)行以下命令:

ssh-keygen –t rsa –P''

這條命是生成其無密碼密鑰對逗嫡,詢問其保存路徑時直接回車采用默認(rèn)路徑。生成的密鑰對:id_rsa和id_rsa.pub角雷,默認(rèn)存儲在"/home/hadoop/.ssh"目錄下(每臺服務(wù)器看各自的生成路徑信息 因為hadoop為用戶名祸穷,所以生成在當(dāng)前用戶名下)。

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

接著在Master節(jié)點上做如下配置,把id_rsa.pub追加到授權(quán)的key里面去吗坚。

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

在驗證前祈远,需要做兩件事兒。第一件事兒是修改文件"authorized_keys"權(quán)限(權(quán)限的設(shè)置非常重要商源,因為不安全的設(shè)置安全設(shè)置车份,會讓你不能使用RSA功能),另一件事兒是用root用戶設(shè)置"/etc/ssh/sshd_config"的內(nèi)容牡彻。使其無密碼登錄有效扫沼。

1)修改文件"authorized_keys"

chmod 600 ~/.ssh/authorized_keys

備注:如果不進行設(shè)置,在驗證時庄吼,扔提示你輸入密碼缎除,在這里花費了將近半天時間來查找原因。

2)設(shè)置SSH配置

用root用戶登錄服務(wù)器修改SSH配置文件"/etc/ssh/sshd_config"的下列內(nèi)容总寻。

RSAAuthentication yes#啟用 RSA 認(rèn)證PubkeyAuthentication yes#啟用公鑰私鑰配對認(rèn)證方式AuthorizedKeysFile .ssh/authorized_keys#公鑰文件路徑(和上面生成的文件同)

設(shè)置完之后記得重啟SSH服務(wù)器罐,才能使剛才設(shè)置有效。

service sshd restart

退出root登錄渐行,使用hadoop普通用戶驗證是否成功轰坊。

ssh localhost

從上圖中得知無密碼登錄本級已經(jīng)設(shè)置完畢铸董,接下來的事兒是把公鑰復(fù)制所有的Slave機器上。使用下面的命令格式進行復(fù)制公鑰:

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

例如:

scp ~/.ssh/id_rsa.pub hadoop@192.168.1.3:~/

上面的命令是復(fù)制文件"id_rsa.pub"到服務(wù)器IP為"192.168.1.3"的用戶為"hadoop"的"/home/hadoop/"下面肴沫。

下面就針對IP為"192.168.1.3"的Slave1.Hadoop的節(jié)點進行配置粟害。

1)把Master.Hadoop上的公鑰復(fù)制到Slave1.Hadoop上

從上圖中我們得知,已經(jīng)把文件"id_rsa.pub"傳過去了颤芬,因為并沒有建立起無密碼連接我磁,所以在連接時,仍然要提示輸入輸入Slave1.Hadoop服務(wù)器用戶hadoop的密碼驻襟。為了確保確實已經(jīng)把文件傳過去了,用SecureCRT登錄Slave1.Hadoop:192.168.1.3服務(wù)器芋哭,查看"/home/hadoop/"下是否存在這個文件沉衣。

從上面得知我們已經(jīng)成功把公鑰復(fù)制過去了。

2)在"/home/hadoop/"下創(chuàng)建".ssh"文件夾

這一步并不是必須的减牺,如果在Slave1.Hadoop的"/home/hadoop"已經(jīng)存在就不需要創(chuàng)建了豌习,因為我們之前并沒有對Slave機器做過無密碼登錄配置,所以該文件是不存在的拔疚。用下面命令進行創(chuàng)建肥隆。(備注:用hadoop登錄系統(tǒng),如果不涉及系統(tǒng)文件修改稚失,一般情況下都是用我們之前建立的普通用戶hadoop進行執(zhí)行命令栋艳。)

mkdir ~/.ssh

然后是修改文件夾".ssh"的用戶權(quán)限,把他的權(quán)限修改為"700"句各,用下面命令執(zhí)行:

chmod 700 ~/.ssh

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

對比上面兩張圖纽绍,發(fā)現(xiàn)文件夾".ssh"權(quán)限已經(jīng)變了。

3)追加到授權(quán)文件"authorized_keys"

到目前為止Master.Hadoop的公鑰也有了势似,文件夾".ssh"也有了拌夏,且權(quán)限也修改了僧著。這一步就是把Master.Hadoop的公鑰追加到Slave1.Hadoop的授權(quán)文件"authorized_keys"中去。使用下面命令進行追加并修改"authorized_keys"文件權(quán)限:

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

chmod600 ~/.ssh/authorized_keys

4)用root用戶修改"/etc/ssh/sshd_config"

具體步驟參考前面Master.Hadoop的"設(shè)置SSH配置"障簿,具體分為兩步:第1是修改配置文件盹愚;第2是重啟SSH服務(wù)。

5)用Master.Hadoop使用SSH無密碼登錄Slave1.Hadoop

當(dāng)前面的步驟設(shè)置完畢站故,就可以使用下面命令格式進行SSH無密碼登錄了皆怕。

ssh 遠程服務(wù)器IP

從上圖我們主要3個地方,第1個就是SSH無密碼登錄命令西篓,第2愈腾、3個就是登錄前后"@"后面的機器名變了,由"Master"變?yōu)榱?Slave1"岂津,這就說明我們已經(jīng)成功實現(xiàn)了SSH無密碼登錄了虱黄。

最后記得把"/home/hadoop/"目錄下的"id_rsa.pub"文件刪除掉。

rm –r ~/id_rsa.pub

到此為止吮成,我們經(jīng)過前5步已經(jīng)實現(xiàn)了從"Master.Hadoop"到"Slave1.Hadoop"SSH無密碼登錄橱乱,下面就是重復(fù)上面的步驟把剩余的Slave服務(wù)器進行配置。這樣粱甫,我們就完成了"配置Master無密碼登錄所有的Slave服務(wù)器"泳叠。

擴展

如果實現(xiàn)Slave服務(wù)器無密碼登錄Master?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末茶宵,一起剝皮案震驚了整個濱河市危纫,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌乌庶,老刑警劉巖叶摄,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異安拟,居然都是意外死亡蛤吓,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進店門糠赦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來会傲,“玉大人,你說我怎么就攤上這事拙泽√噬剑” “怎么了?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵顾瞻,是天一觀的道長泼疑。 經(jīng)常有香客問我,道長荷荤,這世上最難降的妖魔是什么退渗? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任移稳,我火速辦了婚禮,結(jié)果婚禮上会油,老公的妹妹穿的比我還像新娘个粱。我一直安慰自己,他們只是感情好翻翩,可當(dāng)我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布都许。 她就那樣靜靜地躺著,像睡著了一般嫂冻。 火紅的嫁衣襯著肌膚如雪胶征。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天桨仿,我揣著相機與錄音弧烤,去河邊找鬼。 笑死蹬敲,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的莺戒。 我是一名探鬼主播伴嗡,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼从铲!你這毒婦竟也來了瘪校?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤名段,失蹤者是張志新(化名)和其女友劉穎阱扬,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體伸辟,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡麻惶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了信夫。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片窃蹋。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖静稻,靈堂內(nèi)的尸體忽然破棺而出警没,到底是詐尸還是另有隱情,我是刑警寧澤振湾,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布杀迹,位于F島的核電站,受9級特大地震影響押搪,放射性物質(zhì)發(fā)生泄漏树酪。R本人自食惡果不足惜浅碾,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望嗅回。 院中可真熱鬧及穗,春花似錦、人聲如沸绵载。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽娃豹。三九已至焚虱,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間懂版,已是汗流浹背鹃栽。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留躯畴,地道東北人民鼓。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像蓬抄,于是被迫代替她去往敵國和親丰嘉。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,060評論 2 355

推薦閱讀更多精彩內(nèi)容