配置ssh免密碼登錄——集群學習日記

来源:http://www.cnblogs.com/kwongtai/archive/2017/07/23/7224495.html
-Advertisement-
Play Games

度過了難熬的考試月時期之後,最近和小伙伴一起參加的的比賽進入了緊張的準備時期。在進行工作的時候,發現有很多基礎的知識點,自己不是很清楚以及瞭解,所以在想,要不就邊學習的時候邊寫下學習日記,以供自己後來不懂的時候查看,同時以希望自己的一些所得能幫助到其他人。共勉之~ ...


度過了難熬的考試月時期之後,最近和小伙伴一起參加的的比賽進入了緊張的準備時期。在進行工作的時候,發現有很多基礎的知識點,自己不是很清楚以及瞭解,所以在想,要不就邊學習的時候邊寫下學習日記,以供自己後來不懂的時候查看,同時以希望自己的一些所得能幫助到其他人。共勉之~

前言

Secure Shell(縮寫為SSH),是一項創建在應用層和傳輸層基礎上的安全協議,為電腦上的Shell(殼層)提供安全的傳輸和使用環境。傳統的網路服務程式,如rsh、FTP、POP和Telnet其本質上都是不安全的;因為它們在網路上用明文傳送數據、用戶帳號和用戶口令,很容易受到中間人(man-in-the-middle)攻擊方式的攻擊。就是存在另一個人或者一臺機器冒充真正的伺服器接收用戶傳給伺服器的數據,然後再冒充用戶把數據傳給真正的伺服器。而SSH是目前較可靠,專為遠程登錄會話和其他網路服務提供安全性的協議。利用SSH協議可以有效防止遠程管理過程中的信息泄露問題。通過SSH可以對所有傳輸的數據進行加密,也能夠防止DNS欺騙和IP欺騙。SSH之另一項優點為其傳輸的數據可以是經過壓縮的,所以可以加快傳輸的速度。SSH有很多功能,它既可以代替Telnet,又可以為FTP、POP、甚至為PPP提供一個安全的“通道”。

引用於維基百科Secure Shell

SSH的必要性

Hadoop的Master和Slave節點之間的通信,以及Spark的Master和Worker節點之間的通信,都是通過SSH來完成的。我們不希望他們之間的每次通信都輸入一次密碼,所以我們需要他們之間進行SSH免密碼登錄。

前期準備

我在實驗室的三台主機都是Centos 7,自帶了ssh。如果沒有安裝的ssh的可以使用:

yum install ssh

來安裝。

使用ssh-keygen生成私鑰和公鑰

命令行:

ssh-keygen

無論彈出什麼信息都直接enter回車鍵跳過。兩下回車鍵之後就生成瞭如下文件:

其中id_rsa是私鑰,id_rsa.pub是公鑰。

使用>>把公鑰內容追加到anthorized_keys文件中。

命令行:

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

其中authorized_keys用於保存所有允許以當前用戶身份登錄到ssh客戶端用戶的公鑰內容。

ps:Centos 7上是沒有authorized_keys這個文件的,所以追加之後會自動生成這個文件。

測試是否可以免密碼登錄

命令行:

ssh localhost

出現以下界面,說明可以免密碼登錄了。

此處localhost為本機

按照上面,同時在其他兩台機子上執行同樣的命令

按照上面,同時在其他兩台機子上執行同樣的命令

按照上面,同時在其他兩台機子上執行同樣的命令

重要的事情說三遍!

把公鑰拷貝到其他主機上面的一種可行的方法

我們把三臺電腦分別取名為MasterSlave1Slave2。在Slave1上執行

scp id_rsa.pub root@Master_ip:/root/.ssh/id_rsa.pub.slave1

其中,Master_ipMasterip,後面的slave1只是為了區別其他文件而起的。這個可以任意。

執行之後需要輸入Masterroot的密碼之後,就把文件拷貝到Master下了。

同樣Slave2上執行

scp id_rsa.pub root@Master_ip:/root/.ssh/id_rsa.pub.slave2

執行之後可以查看Master.ssh文件夾下存在剛剛的兩個文件了

緊接著的是,把上述兩個文件slave1slave2追加到authorized_keys中。
命令行:

cat id_rsa.pub.slave1 >> authorized_keys
cat id_rsa.pub.slave2 >> authorized_keys

至此,我們都把每台機子的公鑰都拷貝到Master下麵的authorized_keys中了。

authorized_keys文件也拷貝到其他的Slave電腦中

命令行:(此時在Master中的.ssh文件夾下)

scp authorized_keys root@slave1_ip:/root/.ssh/authoried_keys
scp authorized_keys root@slave2_ip:/root/.ssh/authoried_keys

其中slave1_ipslave2_ip,為每一臺slaveip地址,輸入命令之後輸入每台的Slave的密碼便可以。

結言:

到此,每台機子上面的authoried_keys都含有集群中每台機子的公鑰,都可以直接使用
ssh ip的方式直接登錄了。

參見 王家林/王雁軍/王家虎的《Spark 核心源碼分析與開發實戰》

文章出自kwongtai'blog,轉載請標明出處!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 【文件管理、管道、用戶及組管理、用戶及許可權管理】\用戶及組管理 用戶與組管理 Linux系統是一個多用戶多任務的分時操作系統,任何一個要使用系統資源的用戶,都必須首先向系統管理員申請一個賬號,然後以這個賬號的身份進入系統。用戶的賬號一方面可以幫助系統管理員對使用系統的用戶進行跟蹤,並控制他們對系統資 ...
  • 暑假在家有些懈怠,不,非常懈怠— —||!良心已經發痛了,想快些補回原來的進度,但忽然發現,中斷了一段時間再重新去學習,有的地方連最基本的符號都忘記了 ,這次特意弄個最最基礎的,恢復一下,以前的進度。 1.建立一個工作空間 在home文件夾裡面發現新建好了相應的文件夾,當然裡面,空空的,什麼都沒有。 ...
  • 前言 因為比賽的限制是使用Hadoop2.7.2,估在此文章下麵的也是使用Hadoop2.7.2,具體下載地址為 "Hadoop2.7.2" 開始的準備 目前在我的實驗室上有三台Linux主機,因為需要參加一個關於spark數據分析的比賽,所以眼見那幾台伺服器沒有人用,我們團隊就拿來配置成集群。具體 ...
  • 一.環境: centos release 6.9 python 2.7.13 二.安裝工具bypy sudo pip install bypy 三.使用bypy 3.1 授權 3.2 上傳文件 bypy upload (在某個文件夾下就會將文件夾下的內容全部上傳到雲端) 3.3 下載文件 bypy ...
  • 把當前文件夾的文件名用","連接成一行,或者將多行轉變為一行 將行逆序輸出 刪除 開頭的註釋行 去掉每行開頭4個字元 對文件第一列進行統計 對文件第四列用":"切割成兩列並將最後一列結果+1,然後輸出全部列 對文件第二列求均值 實現DNA序列反向互補 某一行插入另外一個文件的內容 對一個文件按照第一 ...
  • 用戶和用戶組及許可權管理: 一:基本概念 linux是一個多任務(multi-task)多用戶(multi-user)的操作系統,每個用戶和用戶組都有自己的ID號UID GID,每個用戶都有自己的家目錄不能隨意訪問其他用戶的家目錄,管理員root除外。 用戶的分類:(以centos7.x為例) 管理員 ...
  • 常說Linux上有文本處理的三劍客,grep、sed和awk,本文就grep做出詳細的描述,並引出正則表達式。 grep 舉例1:匹配/etc/passwd下有frank的行 舉例2:匹配/etc/passwd下有frank的行,忽略大小寫 舉例3:匹配/etc/passwd下不能被bash匹配的行 ...
  • 已經那麼多年工作下來了,結果裝linux還是那麼 的費勁! 裝的是純凈版Ubuntu16.04版本,17.04怕不穩定就沒裝, 裝了發現VmwareTools是暗的,以前也遇到過這個問題,但是真的忘記了怎麼解決了。 弄了半天其實關鍵就是一句話,找到你Vmware的安裝目錄,裡面有個linux.iso ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...