最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Hadoop框架起步之圖解SSH、免密登錄原理和實(shí)現(xiàn)方法

 更新時(shí)間:2019年07月04日 15:15:33   作者:Kefi123  
這篇文章主要介紹了Hadoop框架起步之圖解SSH、免密登錄原理和實(shí)現(xiàn)方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

1. 前言

emmm….最近學(xué)習(xí)大數(shù)據(jù),需要搭建Hadoop框架,當(dāng)弄好linux系統(tǒng)之后,第一件事就是SSH免密登錄的設(shè)置。對(duì)于SSH,我覺(jué)得使用過(guò)linux系統(tǒng)的程序員應(yīng)該并不陌生??墒前?,用起來(lái)簡(jiǎn)單,真讓你說(shuō)出個(gè)所以然,還是件比較困難的事(大佬繞路,此篇文章不屬于你~)。然后,我就好奇心大發(fā),打算寫一篇博客詳細(xì)介紹一下SSH和免密登錄的原理及實(shí)現(xiàn)。

補(bǔ)充:不管是Hadoop的偽分布還是全分布,Hadoop的名稱結(jié)點(diǎn)(NameNode)都需要啟動(dòng)集群中所有機(jī)器的Hadoop守護(hù)進(jìn)程,而這個(gè)過(guò)程可以通過(guò)SSH登錄來(lái)實(shí)現(xiàn)。由于Hadoop并沒(méi)有提供SSH輸入密碼登錄的形式,因此,為了能夠順利登錄每臺(tái)機(jī)器,就需要對(duì)其進(jìn)行SSH的免密登錄配置。

2. 初見(jiàn)SSH

Secure Shell(安全外殼協(xié)議,簡(jiǎn)稱SSH)是一種加密的網(wǎng)絡(luò)傳輸協(xié)議,可以在不安全的網(wǎng)絡(luò)中為網(wǎng)絡(luò)服務(wù)提供安全的傳輸環(huán)境(來(lái)自維基百科的定義)。根據(jù)其定義,我們能夠理解SSH最常見(jiàn)的用途就是遠(yuǎn)程登錄系統(tǒng),人們通常利用SSH來(lái)傳輸命令行界面和遠(yuǎn)程執(zhí)行命令。

早期的互聯(lián)網(wǎng)通信,例如Telnet和非安全shell,都是采用明文進(jìn)行傳輸,一旦被截獲,內(nèi)容就會(huì)暴露無(wú)遺。而SSH就是其上位的替代品。1995年,芬蘭學(xué)者Tatu Ylonen設(shè)計(jì)了SSH協(xié)議,將登錄信息全部加密,成為了互聯(lián)網(wǎng)安全的一個(gè)基本解決方案,迅速在全世界獲得推廣。

這里需要注意一下,SSH只是一種協(xié)議(或者可以理解為一種規(guī)定),而它具體的實(shí)現(xiàn)有很多,商業(yè),開(kāi)源的等等。其最流行的實(shí)現(xiàn)應(yīng)該是OpenSSH,本文所針對(duì)的實(shí)現(xiàn)也是基于OpenSSH的。

3. SSH的工作原理

作為以安全性著稱的協(xié)議,SSH是怎么實(shí)現(xiàn)的呢?我們首先想到的肯定是對(duì)數(shù)據(jù)進(jìn)行加密,而SSH的加密方式主要有兩種,一個(gè)是對(duì)稱加密(密鑰加密),另一個(gè)是非對(duì)稱加密(公鑰加密)。

3.1 對(duì)稱加密

所謂的對(duì)稱加密就是客戶端與服務(wù)器共用一套密鑰進(jìn)行數(shù)據(jù)的加解密,詳情見(jiàn)下圖。

圖3-1 對(duì)稱加密的過(guò)程

這種加密方式很難被破解,但是存在一個(gè)問(wèn)題,如果密鑰泄露,系統(tǒng)數(shù)據(jù)的安全性將不復(fù)存在,為了解決這個(gè)問(wèn)題,非對(duì)稱加密應(yīng)運(yùn)而生。

3.2 非對(duì)稱加密

非對(duì)稱加密有兩個(gè)密鑰:公鑰和私鑰。數(shù)據(jù)使用公鑰加密之后,只能使用私鑰進(jìn)行解密,而私鑰被破解的概率很低很低,詳情見(jiàn)下圖。

圖3-2 非對(duì)稱加密的過(guò)程

由于私鑰是服務(wù)器獨(dú)有的,所以即使客戶機(jī)的登錄信息被截取,也是沒(méi)有私鑰進(jìn)行解密的,保證了數(shù)據(jù)的安全性,充分利用了非對(duì)稱加密的特點(diǎn)。

3.3 非對(duì)稱加密的缺陷

非對(duì)稱加密就一定安全了么?答案是否定的。如果黑客冒充了服務(wù)器,攔截了登錄請(qǐng)求,并且把自己的公鑰發(fā)送給客戶機(jī),再使用自己的私鑰對(duì)密碼進(jìn)行解密,就會(huì)獲取到客戶機(jī)的登錄信息,從而造成數(shù)據(jù)泄露,這就是中間人攻擊,詳情見(jiàn)下圖。

圖3-3 非對(duì)稱加密的缺陷

對(duì)于上訴的缺陷,SSH有兩種解決方法,第一種是基于口令的認(rèn)證;另一種是基于公鑰的認(rèn)證,俗稱SSH免密登錄。

3.4 基于口令的認(rèn)證

根據(jù)圖3-3所示,我們可以發(fā)現(xiàn)問(wèn)題的關(guān)鍵點(diǎn)就在于客戶機(jī)沒(méi)法分辨出公鑰是否是自己想要登錄的服務(wù)器給的公鑰,所以說(shuō)客戶機(jī)只能自己對(duì)公鑰進(jìn)行確認(rèn),通常第一次登錄的時(shí)候會(huì)出現(xiàn)下面的提示。

1 The authenticity of host 'ssh-server.example.com (12.18.429.21)' can't be established.
2 RSA key fingerprint is 98:2e:d7:e0:de:9f:ac:67:28:c2:42:2d:37:16:58:4d.
3 Are you sure you want to continue connecting (yes/no)?

提示的內(nèi)容是在說(shuō),無(wú)法確定ssh-server.example.com (12.18.429.21)主機(jī)的真實(shí)性,但是知道其公鑰指紋,是否繼續(xù)連接。

之所以使用公鑰指紋,是因?yàn)镽SA算法生成的公鑰長(zhǎng)達(dá)1024位,但是通過(guò)對(duì)公鑰進(jìn)行hash得到的128位的指紋就很容易進(jìn)行比較。

輸入yes之后,會(huì)出現(xiàn)下面的提示。

1 Warning: Permanently added 'ssh-server.example.com,12.18.429.21' (RSA) to the list of known hosts.
2 Password: (enter password)

提示在說(shuō),該主機(jī)已經(jīng)添加到known hosts的列表里了,接著輸入密碼,按照?qǐng)D3-2的流程走就行了。

4.基于公鑰的認(rèn)證

4.1 SSH免密登錄的原理

免去密碼進(jìn)行登錄,不僅使得登錄信息不會(huì)遭到泄露,而且也簡(jiǎn)化、方便了系統(tǒng)之間登錄的操作,提高了工作的效率,工作原理見(jiàn)下圖所示。

圖4-1 免密登錄的原理

4.2 SSH免密登錄的實(shí)現(xiàn)(openSSH)

第一步:安裝SSH,命令如下。

 yum install –y openssh-clients openssh-server

這里解釋一下,一臺(tái)機(jī)器既可以是客戶機(jī)也可以是服務(wù)器,并且這兩個(gè)角色是可以共存的。openssh-clients的功能類似于XShell,可以作為一個(gè)客戶端連接上openssh-server。openssh-server的功能主要是作為一個(gè)服務(wù)(守護(hù)進(jìn)程)運(yùn)行在后臺(tái),如果這個(gè)服務(wù)開(kāi)啟了,我們就可以用一些遠(yuǎn)程連接工具來(lái)連接centos。由于我是用了Centos6.4的mimimal版本,該版本已經(jīng)安裝了openssh-server,但是卻沒(méi)有安裝openssh-clients,所以我只需要安裝openssh-clients即可,而具體安裝情況請(qǐng)根據(jù)自己的系統(tǒng)決定。

第二步:生成密鑰,命令如下。

 ssh-keygen –t rsa –P ‘' –f –/.ssh/id_rsa

ssh-keygen是用來(lái)生產(chǎn)密鑰的工具。-t:指定生成密鑰的類型(rsa、dsa、ecdsa等);-P:指定passphrase,用于確保私鑰的安全;-f:指定存放密鑰的文件(公鑰和私鑰默認(rèn)放在相同目錄下面,區(qū)別是,公鑰的文件名有后綴.pub)

第三步:創(chuàng)建用于保存公鑰的文件authorized_keys,并且把本機(jī)公鑰添加到此文件,命令如下。

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

第四步:對(duì)authorized_keys文件進(jìn)行授權(quán)操作,命令如下。

 chmod 0600 ~/.ssh/authorized_keys

由于每個(gè)人使用系統(tǒng)的不同,文件默認(rèn)的授權(quán)也是不相同的,如果不確定的話,可以執(zhí)行上訴命令,對(duì)文件進(jìn)行授權(quán)。

第五步:登錄,命令如下。

ssh host

5. 總結(jié)和感言

emmm,SSH免密登錄的使用還是挺常見(jiàn)的,也挺簡(jiǎn)單的。我覺(jué)得吧,凡事不能知其然而不知其所以然,這是我寫這篇博客的目的。同時(shí)我也希望讀者能夠通過(guò)這篇博客對(duì)SSH以及免密登錄能有更好的了解。

這篇博客由于工作的原因,前前后后寫了個(gè)把星期,真的很不容易,雖然文中的原理很多是通過(guò)學(xué)習(xí)大佬的文章才會(huì)的,但是這篇博客中的每個(gè)字我都可以負(fù)責(zé)任的說(shuō)是我自己一個(gè)一個(gè)敲的,所有的圖都是我自己用processOn畫的,如果你有什么問(wèn)題,可以在博客下留言,我有時(shí)間會(huì)回復(fù)的。

以上所述是小編給大家介紹的Hadoop框架起步之圖解SSH、免密登錄原理和實(shí)現(xiàn)方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

  • Chrome拓展(Chrome Extension)開(kāi)發(fā)定時(shí)任務(wù)插件

    Chrome拓展(Chrome Extension)開(kāi)發(fā)定時(shí)任務(wù)插件

    文章講述了如何在ChromeExtension中實(shí)現(xiàn)定時(shí)任務(wù),包括使用chrome.alarmsAPI、結(jié)合contentscript的狀態(tài)感知定時(shí)器和基于事件觸發(fā)的模擬定時(shí),文章強(qiáng)調(diào)了任務(wù)的冪等性、狀態(tài)的持久化存儲(chǔ)、記錄執(zhí)行日志和防止重復(fù)執(zhí)行的重要性
    2025-04-04
  • Keil?uVision5?5.38官方下載、安裝及注冊(cè)超詳細(xì)圖文教程

    Keil?uVision5?5.38官方下載、安裝及注冊(cè)超詳細(xì)圖文教程

    這篇文章主要介紹了Keil?uVision5?5.38官方下載、安裝及注冊(cè)教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • 字符集和字符編碼(Charset & Encoding)

    字符集和字符編碼(Charset & Encoding)

    相信大家一定碰到過(guò),打開(kāi)某個(gè)網(wǎng)頁(yè),卻顯示一堆像亂碼,如"бЇЯАзЪСЯ"、"�????????"?還記得HTTP中的Accept-Charset、Accept-Encoding、Accept-Language、Content-Encoding、Content-Language等消息頭字段?這些就是接下來(lái)我們要探討的
    2012-04-04
  • DeepSeek本地部署+可視化WebUI的實(shí)現(xiàn)(圖文教程)

    DeepSeek本地部署+可視化WebUI的實(shí)現(xiàn)(圖文教程)

    本文主要介紹了在本地部署DeepSeek并使用可視化WebUI進(jìn)行AI輔助,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • 關(guān)于idea+centos7+zookeeper報(bào)錯(cuò)connectionloss,timeout問(wèn)題

    關(guān)于idea+centos7+zookeeper報(bào)錯(cuò)connectionloss,timeout問(wèn)題

    這篇文章主要介紹了idea+centos7+zookeeper報(bào)錯(cuò)connectionloss,timeout問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • visualstudio的.sln文件和.vcxproj文件的區(qū)別

    visualstudio的.sln文件和.vcxproj文件的區(qū)別

    .sln?文件和?.vcxproj?文件是兩個(gè)常用的項(xiàng)目文件,本文主要介紹了visualstudio的.sln文件和.vcxproj文件的區(qū)別,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • prometheus之Pushgateway安裝和使用方法

    prometheus之Pushgateway安裝和使用方法

    Pushgateway是prometheus的一個(gè)組件,prometheus?server默認(rèn)是通過(guò)exporter主動(dòng)獲取數(shù)據(jù),本文給大家介紹prometheus之Pushgateway安裝和使用教程,感興趣的朋友一起看看吧
    2024-05-05
  • MobaXterm入門使用教程

    MobaXterm入門使用教程

    MobaXterm就是一款SSH客戶端,它幫助我們?cè)赪indows操作系統(tǒng)下去連接并操作Linux服務(wù)器,本文主要介紹了MobaXterm入門使用教程,感興趣的可以了解一下
    2023-05-05
  • 插件下載安裝系列Eclipse/IDEA/谷歌/火狐安裝插件

    插件下載安裝系列Eclipse/IDEA/谷歌/火狐安裝插件

    這篇文章主要介紹了插件下載安裝系列Eclipse/IDEA/谷歌/火狐,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • 獲取鍵盤鍵的值 集合 方便監(jiān)控鍵盤事件

    獲取鍵盤鍵的值 集合 方便監(jiān)控鍵盤事件

    整理的比較全的鍵盤值的集合,以后大家在開(kāi)發(fā)過(guò)程中,可以直接拿來(lái)判斷。
    2009-08-08

最新評(píng)論

独山县| 连平县| 陈巴尔虎旗| 灌云县| 太原市| 乌拉特后旗| 建始县| 大竹县| 新绛县| 鹰潭市| 米脂县| 巴南区| 梅河口市| 高尔夫| 龙口市| 荃湾区| 修武县| 新兴县| 任丘市| 宁南县| 潞西市| SHOW| 许昌县| 庆安县| 锡林郭勒盟| 海城市| 米林县| 府谷县| 新化县| 涞水县| 商洛市| 凭祥市| 沽源县| 株洲市| 米泉市| 华蓥市| 涿鹿县| 龙游县| 唐山市| 上杭县| 乌恰县|