天天看點

linux叢集的ssh免密登入原理一、概念二、環境準備三、實操四、總結五、附:

(目錄)

一、概念

1. ssh是什麼?

說到

ssh

,也許大家會想到明文和密文,密文的實作就是給明文加密,密文轉成大家能看懂的明文就是需要解密,ssh是屬于公鑰和私鑰加解密,這裡的ssh實作就是通過非對稱加密實作的,非對稱加密比對稱加密的好處在于安全性更高,伺服器之間互動資料是通過公鑰加密,然後通過自己的私鑰來解密。

2. 公鑰和私鑰怎麼加解密?

linux叢集的ssh免密登入原理一、概念二、環境準備三、實操四、總結五、附:
  • 簡單來說,你有私鑰和公鑰兩把鑰匙,那麼你可以把你的公鑰發給别人,别人就可以在發明文給你時通過公鑰加密後再發送,你收到該密文後,如果自己的私鑰能解密,那發送方肯定式你給公鑰的信任方,就可以通過私鑰來解密,這裡又能提到一點數字簽名,就是通過公鑰和私鑰實作的。
  • 這種情況下,資料隻能從對方發送,自己隻能接收,如果要實作雙方都能發送和接受,就需要自己擁有對方的公鑰,也就是彼此都有一把自己的私鑰和對方的公鑰,這樣才能實作互動,下面在實作linux叢集時,是需要雙方互動,是以就先簡單講了一下概念。

3. ssh使用了哪些技術來做安全認證?

  • 當你作為客戶機去通路伺服器的時候,使用ssh來連接配接,即

    ssh 伺服器位址

    ,你會收到一個資訊摘要,資訊摘要一般分為兩種,

    MD5

    加密算法和SHA雜湊演算法,

    ssh

    使用的雜湊演算法是

    SHA256

    雜湊演算法,産生的是256位的輸出,安全性更高。
  • 兩者目的都是為了做

    消息認證

    ,及保證對方消息的

    完整性

    ,資訊摘要是對明文做了加密,不同明文的加密不同,確定完整性,在公開信道上如果被人做了手腳,即可認為資訊摘要被改動了,就要發出警告,一般來說,客戶機第一次用

    ssh

    連接配接伺服器時,會接收到伺服器的

    域名

    ip位址

    資訊摘要

    ,然後儲存在本地,下一次連接配接時,會首先确認明文是否被改動過,因為在公開信道上,任何人是可以盜取你發的明文,然後封裝完再發回給你。

二、環境準備

1. 環境和網絡

環境即搭建好叢集中的虛拟機,虛拟機搭建可以看尚矽谷hadoop前面幾節,跟着敲就行了,網絡包括叢集中兩兩虛拟機能夠

ping

通,這些具備好了之後這一步就結束了哈哈。

三、實操

1. 生成私鑰和公鑰

上一步成功後,那麼跟着我實操吧,打開三台虛拟機,可以使用

xshell

連接配接,操作起來更加流暢。

linux叢集的ssh免密登入原理一、概念二、環境準備三、實操四、總結五、附:

三台虛拟機都定位到使用者目錄,我這裡用的是普通使用者,即在

/home/使用者名/

目錄下

linux叢集的ssh免密登入原理一、概念二、環境準備三、實操四、總結五、附:
  • 檢視隐藏檔案.ssh是否存在
[localhost@localhost102 ~]$ ls -al
           
  • 删除之前存在的.ssh檔案夾
[localhost@localhost102 ~]$ rm -rf .ssh
           
  • 生成rsa私鑰和公鑰,需要三次空格,算法使用的是

    SHA256

    散列加密
[localhost@localhost102 ~]$ ssh-keygen -t rsa
           
linux叢集的ssh免密登入原理一、概念二、環境準備三、實操四、總結五、附:
  • 生成的私鑰和公鑰如下:
linux叢集的ssh免密登入原理一、概念二、環境準備三、實操四、總結五、附:

2. 分發公鑰

  • 分發公鑰給其他主機,

    yes

    後再輸入對方主機密碼
[localhost@localhost102 ~]$ ssh-copy-id [ip位址]
           
  • 下次使用ssh連接配接對方主機,即可直接免密登入
[localhost@localhost102 ~]$ ssh [ip位址]
           

四、總結

  • ssh是一種建立在應用層基礎上的安全協定,但TCP的SYN頭部無法通信ssh,是以是需要依賴傳輸層TCP封裝;
  • ssh不僅僅是使用rsa來生成公私鑰,還是可以用其他的算法來生成。

五、附:

繼續閱讀