ssh 配置:在 Linux 中 ssh 配置無密碼登陸完整步驟以及易錯點分析

文章目錄

  • 前言
  • 一、什么是 SSH?
  • 二、ssh 配置無密碼登陸原理
  • 三、Linux 系統上生成 SSH 密鑰和公鑰
  • 四、登錄驗證
  • 總結


前言

對于 Hadoop 的偽分布式和全分布式而言,Hadoop 的名稱節點(NameNode)需要啟動集群中所有機器的 Hadoop 的守護進程,這個過程可以通過 SSH 登陸來實現。Hadoop 并沒有提供 SSH 輸入密碼登陸的形式,因此為了能夠順利登陸每臺機器,需要將所有機器配置為名稱節點可以無密碼登陸的形式。

在這里插入圖片描述


一、什么是 SSH?

SSH 為 Secure Shell 的縮寫,由 IETF 的網絡工作小組(Network Working Group)所制定;SSH 為建立在應用層和傳輸層基礎上的安全協議

SSH 是目前較可靠,專為遠程登錄會話和其他網絡服務提供安全性的協議。利用 SSH 協議可以有效防止遠程管理過程中的信息泄露問題。SSH 最初是 UNIX 系統上的一個程序,后來又迅速擴展到其他操作平臺。SSH 在正確使用時可彌補網絡中的漏洞。

SSH 客戶端適用于多種平臺。幾乎所有 UNIX 平臺,包括 HP-UX、Linux、AIX、Solaris、Digital、UNIX、Irix 以及其他平臺,都可運行 SSH。

二、ssh 配置無密碼登陸原理

首先我們在自己的 Linux 系統上生成一對 SSH Key:SSH 密鑰和 SSH 公鑰。然后公鑰上傳到 Linux 服務器,之后我們就能無密碼 SSH 登陸了。

對于 Hadoop 的偽分布式和全分布式而言,Hadoop 的名稱節點(NameNode)需要啟動集群中所有機器的 Hadoop 的守護進程,這個過程可以通過 SSH 登陸來實現。Hadoop 并沒有提供 SSH 輸入密碼登陸的形式,因此為了能夠順利登陸每臺機器,需要將所有機器配置為名稱節點可以無密碼登陸的形式。

三、Linux 系統上生成 SSH 密鑰和公鑰

  1. 在 ssh 安裝完成但未配置之前(安裝 ssh 可以參考另一篇文章:大數據基礎系列 4:偽分布式 Hadoop 在 Ubuntu 上的安裝流程完整步驟及易錯點分析)。
  2. Linux 終端輸入 ssh localhost 會提示輸入密碼,輸入之后登陸成功。但是這樣登陸是需要輸入密碼的,這也是我們配置無密碼登陸的原因。
  3. 首先退出剛才的 ssh,就回到了我們原先的終端窗口,然后利用 ssh-keygen 生成密鑰,并將密鑰加入授權中,指令如下:
exit										#退出剛才的ssh localhost
cd ~/.ssh/									#若沒有該目錄,請再執行一次ssh localhost
ssh-keygen -t rsa							#會有提示,按回車即可
cat ./id_rsa.pub >> ./authorized_keys		#加入授權

說明

  • 使用 ssh-keygen 用于生成 RSA 密鑰和公鑰,-t 表示 type,就是生成 RSA 加密的鑰匙。
  • RSA 也是默認的加密類型,所以可以只輸入 ssh-keygen,默認的 RSA 長度是 2048 位,如果你非常注重安全,那么可以指定 4096 位的長度,指令如下:
ssh-keygen -b 4096 -t rsa
  • SSH 密鑰會保存在 home 目錄下的 .ssh/id_rsa 文件中,SSH 公鑰保存在 .ssh/id_rsa.pub 文件中。
  • 在 Linux 系統中,~ 代表的是用戶的主文件夾,即"/home/用戶名"這個目錄。

具體流程如下:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/matrix/.ssh/id_rsa): #按Enter鍵
Enter passphrase (empty for no passphrase):  					#輸入一個密碼
Enter same passphrase again:   								#再次輸入密碼
Your identification has been saved in /home/matrix/.ssh/id_rsa.
Your public key has been saved in /home/matrix/.ssh/id_rsa.pub.
The key fingerprint is:
e1:dc:ab:ae:b6:19:b0:19:74:d5:fe:57:3f:32:b4:d0 matrix@vivid
The key's randomart image is:
+---[RSA 4096]----+
| .. |
| . . |
| . . .. . |
| . . o o.. E .|
| o S ..o ...|
| = ..+...|
| o . . .o .|
| .o . |
| .++o |
+-----------------+

四、登錄驗證

執行完成后,再用 ssh localhost 命令,無需密碼就可以直接登陸了(首次使用 SSH Key 登陸時需要輸入一次 SSH 密鑰的加密密碼,將來會自動登錄,不再需要輸入密鑰的密碼),具體如下圖所示:

在這里插入圖片描述


總結

本文我們掌握了在 Linux 中 ssh 配置無密碼登陸完整步驟以及需要注意的問題。本文算是學習 Hadoop 的入門技巧篇,掌握了 ssh 登陸的配置,一方面理解系統之間的通信,權限,另一方面可以讓你在后面集群的搭建中省下不少事。

在這里插入圖片描述


我是白鹿,一個不懈奮斗的程序猿。望本文能對你有所裨益,歡迎大家的一鍵三連!若有其他問題、建議或者補充可以留言在文章下方,感謝大家的支持!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/530761.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/530761.shtml
英文地址,請注明出處:http://en.pswp.cn/news/530761.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Apache Hadoop 啟動報錯:masternode:ssh: connect to host master port 22: Connection timed out 總結

文章目錄前言一、錯誤場景描述二、問題總結及解決辦法2.1、IP 配置錯誤及解決方法2.2、端口被防火墻禁用及解決方法總結前言 最近在 Win10 系統上配置了ubuntu-18.04.3,在配置集群的 ssh 無秘鑰登錄時,經常能碰到 ssh: connect to host master port 22: …

大數據入門系列 1:全網最全,Windows 安裝 VMware Workstation 虛擬機完整步驟及需要注意的問題

文章目錄前言一、下載正版虛擬機不同版本1.1、通過官網進行下載 VM 虛擬機1.1.1、選擇所需版本下載1.1.2、VM 15.1.0 Pro for Windows 下載1.2、免注冊賬號又安全地下載虛擬機1.2.1、瀏覽器搜索下載需要的版本1.2.2、校驗下載包的安全性二、虛擬機安裝步驟2.1、進入安裝向導2.2…

Apache Hadoop 答疑:解決 Apache Hadoop 啟動時 DataNode 啟動異常的問題

文章目錄前言一、啟動 HDFS 并顯示當前所有 Java 進程二、DataNode 啟動異常場景描述三、DataNode 啟動異常解決方式四、Web 界面檢查 Hadoop 信息總結前言 本文用于解決 Apache Hadoop 啟動時 DataNode 啟動異常的問題,但是請注意這會刪除 HDFS 中原有的所有數據&a…

Java 跨平臺運行機理:Dos 命令在桌面新建文件夾,并在其中編譯、運行一段 Java 程序

文章目錄前言一、打開 Dos 命令界面二、Dos 查看桌面文件目錄序列三、Dos 創建文件夾四、相關 Windows 系統 Shell 命令補充五、Dos 進入文件夾編寫 Java 文件六、Dos 執行編譯命令編譯 Java 文件七、查看 .class 文件八、Dos 運行 Java 文件輸出信息九、Dos 刪除文件總結前言 …

大數據入門系列 5:全網最全,Hadoop 實驗——熟悉常用的 HDFS 目錄操作和文件操作

文章目錄前言一、實驗目的二、實驗平臺三、實驗內容和要求3.1、HDFS 目錄操作3.1.1、創建用戶目錄3.1.2、顯示 HDFS 中與當前用戶對應的目錄內容3.1.3、列出 HDFS 上的所有目錄3.1.4、用戶目錄下創建一個 input 目錄3.1.5、根目錄下創建 input 的目錄3.1.6、刪除子目錄3.2、HDF…

Java 操作符:Java 中操作符優先級、一二三元操作符及邏輯操作符的中德模佛定理

文章目錄前言一、操作符介紹與優先級表二、一元運算符與二元運算符的區別?三、Java 中唯一的三元操作符四、邏輯操作符中的德模佛定理總結前言 在 Java 中我們常見的操作符分為三種,分別是邏輯操作符、關系操作符、算術操作符,其優先級和結合…

Java 答疑:編譯器和解釋器有何區別?Java 語言屬于編譯型編程語言還是解釋型編程語言?

文章目錄前言一、Java 與 Java 字節碼二、什么是編譯器(Compiler)三、什么是解釋器(Interpreter)四、編譯器與解釋器有何區別?五、Java 語言屬于哪種語言?總結前言 我們都知道開發語言整體分為兩類&#xf…

Java 案例練習:編寫 Java 程序,輸入年份和月份,使用 switch 結構計算對應月份的天數。月份為 1、3、5、7、8、10、12 時,天數為 31 天。月份為 4、6、9、11 時,天數為

文章目錄一、練習題目二、使用 switch 語句實現代碼三、將代碼改寫回 if else 的選擇結構一、練習題目 編寫 Java 程序,輸入年份和月份,使用 switch 結構計算對應月份的天數。 月份為 1、3、5、7、8、10、12 時,天數為 31 天。 月份為 4、6、…

SRA 案例練習:解釋 CRUD 矩陣方法,并從上面 “用于化學品跟蹤管理系統的 CRUDL 矩陣示例”圖中找出被遺漏的需求,并解釋是如何找的?

文章目錄 一、練習題目二、CRUD 矩陣介紹三、矩陣分析四、尋找遺漏需求一、練習題目 解釋 CRUD 矩陣方法,并從上面 “用于化學品跟蹤管理系統的 CRUDL 矩陣示例”圖中找出被遺漏的需求,并解釋是如何找的。 二、CRUD 矩陣介紹 CRUD 矩陣是用于尋找遺漏需求比較精確的方法,其…

《軟件需求分析(第二版)》第 14 章——需求管理的原則和實踐 重點部分總結

文章目錄 前言一、討論二、簡答題三、名詞解釋總結前言 軟件需求分析就是把軟件計劃期間建立的軟件可行性分析求精和細化,分析各種可能的解法,并且分配給各個軟件元素。需求分析是軟件定義階段中的最后一步,是確定系統必須完成哪些工作,也就是對目標系統提出完整、準確、清…

《軟件需求分析(第二版)》第 15 章——變更管理 重點部分總結

文章目錄 前言一、討論二、判斷題三、簡答題總結前言 軟件需求分析就是把軟件計劃期間建立的軟件可行性分析求精和細化,分析各種可能的解法,并且分配給各個軟件元素。需求分析是軟件定義階段中的最后一步,是確定系統必須完成哪些工作,也就是對目標系統提出完整、準確、清晰…

《軟件需求分析(第二版)》第 16 章——需求鏈中的聯系鏈 重點部分總結

文章目錄 前言一、討論總結前言 軟件需求分析就是把軟件計劃期間建立的軟件可行性分析求精和細化,分析各種可能的解法,并且分配給各個軟件元素。需求分析是軟件定義階段中的最后一步,是確定系統必須完成哪些工作,也就是對目標系統提出完整、準確、清晰、具體的要求。本文是…

《軟件項目管理(第二版)》第 10 章——項目收尾 重點部分總結

文章目錄 前言一、討論二、簡答題總結前言 學習了項目的開發與發布之后,我們就可以單獨對一個項目進行開發了,但是在企業中開發中,除了編碼之外,還需要項目管理、團隊協作開發等,這就是軟件項目管理板塊要學習的內容。本文是對《軟件項目管理(第二版)》第 10 章——項目…

《軟件項目管理(第二版)》第 9 章——項目監督與控制 重點部分總結

文章目錄 前言一、討論二、選擇題三、判斷題四、簡答題總結前言 學習了項目的開發與發布之后,我們就可以單獨對一個項目進行開發了,但是在企業中開發中,除了編碼之外,還需要項目管理、團隊協作開發等,這就是軟件項目管理板塊要學習的內容。本文是對《軟件項目管理(第二版…

SSM(Spring+Spring MVC+Mybatis)整合 1:整體概述、目錄內容及實驗環境介紹

文章目錄 前言一、概述二、系列文章全目錄三、實驗環境總結前言 通過本次 Java EE 三大框架(Spring、Spring MVC、MyBatis)原理、技術和方法的整合,大量的項目實踐實際動手能力,解決總結在 SSM 項目中存在的問題,為畢業設計以及后期從事 Java 相關開發工作打下堅實的基礎。…

Tomcat 服務:解決 Apache Tomcat 更新后 Tomcat9w.exe 無法啟動 Tomcat 服務的問題

解決 Tomcat9w.exe 無法啟動 Tomcat 服務的問題/解決 Apache Tomcat 更新后 Apache Tomcat 9.0 Tomcat9 Properties 配置不匹配的問題 文章目錄解決 Tomcat9w.exe 無法啟動 Tomcat 服務的問題/解決 Apache Tomcat 更新后 Apache Tomcat 9.0 Tomcat9 Properties 配置不匹配的問題…

IDEA 新手入門:創建項目/包/類、運行/關閉/導入項目、字體/字號設置、常用快捷鍵等使用詳解

文章目錄前言一、創建新項目 Project1.1、選擇“Create New Project”1.2、選擇左下角的“Empty Project”1.3、輸入項目名稱并選擇保存路徑二、創建新模塊 Module2.1、在彈出的“New Module”窗口中,點擊“New”2.2、根據項目需要,選擇合適的 SDK2.3、對…

IDEA/Tomcat 原理:如何將 Tomcat 集成到 IDEA?實現由傳統部署延伸到熱部署 Java EE 項目?

文章目錄前言一、將 Tomcat 集成到 IDEA 中1.1、進入 IDEA Tomcat 配置頁面1.2、配置并集成 Tomcat1.3、配置完成說明1.4、集成檢查1.4.1、檢查主頁面信息及服務器配置信息二、創建并部署 Java EE 項目2.1、創建新項目或者模塊(自行選擇)2.2、進行 Java …

SSM 整合 2:Java EE 開發環境的搭建(JDK 配置、Tomcat 安裝、IDE 安裝、IDE 集成 Tomcat、Spring 及其組件的下載)

文章目錄 前言一、安裝并配置 JDK1.1、下載并安裝 JDK1.2、配置環境變量1.2.1、從控制面板進入用戶變量設置1.2.2、新建用戶變量 Java_Home 和 Path(根據自己安裝目錄設置)1.2.3、檢測 JDK 是否安裝成功二、安裝 Tomcat 應用服務器2.1、下載 apache-tomcat-9.02.2、啟動 Tomc…

Eclipse 答疑:如何使用 Eclipse 進行斷點(Breakpoints)調試?

文章目錄前言一、打開需要調試的程序二、設置斷點三、進行代碼調試3.1、在上方標簽欄,點擊“Debug As→Java Application”3.2、進入調試頁面并查看設置斷點的具體位置信息3.3、產看具體變量信息總結前言 我們在使用 Eclipse 進行代碼調試時,可以選擇在一…