(目錄)
一、概念
1. ssh是什麼?
說到
ssh
,也許大家會想到明文和密文,密文的實作就是給明文加密,密文轉成大家能看懂的明文就是需要解密,ssh是屬于公鑰和私鑰加解密,這裡的ssh實作就是通過非對稱加密實作的,非對稱加密比對稱加密的好處在于安全性更高,伺服器之間互動資料是通過公鑰加密,然後通過自己的私鑰來解密。
2. 公鑰和私鑰怎麼加解密?
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsQTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5yNxcTMwYjM3gDNycDOzYTMvwlNwITMxIDMy8CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
- 簡單來說,你有私鑰和公鑰兩把鑰匙,那麼你可以把你的公鑰發給别人,别人就可以在發明文給你時通過公鑰加密後再發送,你收到該密文後,如果自己的私鑰能解密,那發送方肯定式你給公鑰的信任方,就可以通過私鑰來解密,這裡又能提到一點數字簽名,就是通過公鑰和私鑰實作的。
- 這種情況下,資料隻能從對方發送,自己隻能接收,如果要實作雙方都能發送和接受,就需要自己擁有對方的公鑰,也就是彼此都有一把自己的私鑰和對方的公鑰,這樣才能實作互動,下面在實作linux叢集時,是需要雙方互動,是以就先簡單講了一下概念。
3. ssh使用了哪些技術來做安全認證?
- 當你作為客戶機去通路伺服器的時候,使用ssh來連接配接,即
,你會收到一個資訊摘要,資訊摘要一般分為兩種,ssh 伺服器位址
加密算法和SHA雜湊演算法,MD5
使用的雜湊演算法是ssh
雜湊演算法,産生的是256位的輸出,安全性更高。SHA256
- 兩者目的都是為了做
,及保證對方消息的消息認證
,資訊摘要是對明文做了加密,不同明文的加密不同,確定完整性,在公開信道上如果被人做了手腳,即可認為資訊摘要被改動了,就要發出警告,一般來說,客戶機第一次用完整性
連接配接伺服器時,會接收到伺服器的ssh
、域名
和ip位址
,然後儲存在本地,下一次連接配接時,會首先确認明文是否被改動過,因為在公開信道上,任何人是可以盜取你發的明文,然後封裝完再發回給你。資訊摘要
二、環境準備
1. 環境和網絡
環境即搭建好叢集中的虛拟機,虛拟機搭建可以看尚矽谷hadoop前面幾節,跟着敲就行了,網絡包括叢集中兩兩虛拟機能夠
ping
通,這些具備好了之後這一步就結束了哈哈。
三、實操
1. 生成私鑰和公鑰
上一步成功後,那麼跟着我實操吧,打開三台虛拟機,可以使用
xshell
連接配接,操作起來更加流暢。
三台虛拟機都定位到使用者目錄,我這裡用的是普通使用者,即在
/home/使用者名/
目錄下
- 檢視隐藏檔案.ssh是否存在
[localhost@localhost102 ~]$ ls -al
- 删除之前存在的.ssh檔案夾
[localhost@localhost102 ~]$ rm -rf .ssh
- 生成rsa私鑰和公鑰,需要三次空格,算法使用的是
散列加密SHA256
[localhost@localhost102 ~]$ ssh-keygen -t rsa
- 生成的私鑰和公鑰如下:
2. 分發公鑰
- 分發公鑰給其他主機,
後再輸入對方主機密碼yes
[localhost@localhost102 ~]$ ssh-copy-id [ip位址]
- 下次使用ssh連接配接對方主機,即可直接免密登入
[localhost@localhost102 ~]$ ssh [ip位址]
四、總結
- ssh是一種建立在應用層基礎上的安全協定,但TCP的SYN頭部無法通信ssh,是以是需要依賴傳輸層TCP封裝;
- ssh不僅僅是使用rsa來生成公私鑰,還是可以用其他的算法來生成。