close

SSH的使用廣泛的應用於各種軟體的安全傳輸機制,對於商管科的同學來說著種於使用就好。如果想用了解完整機制,網路上有許多相關的文章可自行蒐尋。

引用網路圖片簡單進行流程說明於下

SSH

(source "GitHub public key authentication", from Sébastien Saunier ‏- @ssaunier)

一般我們看到文章解釋了下半部如何認證的過程:

  1. 首先PC端(即圖中的Client)發出要建立SSH通道請求給伺服器
  2. 伺服器傳回一個隨機訊息
  3. PC端利用這個隨機密碼做出私鑰。
  4. PC端發送加密的私鑰(private key)訊息到伺服器。
  5. 伺服器看看伺和原本存在伺服器原本放存放的公鑰(public key)是否一致。
  6. 如果一致就代表認證通過了。

但對應用來說,重要的是上半部公私鑰要如何建立的問題。如果上面的6個流程阻礙了你使用,你可以試著簡化成以下的概念:

你想把一個櫃子加道鎖存放重要的資料,所以你自己做了一個專屬的鎖和鑰匙,你透過一個只有你知道的特殊通道去櫃子加上鎖,未來要去開鎖也要知道那個方法。

所以要開能夠正確存放資料要有鎖,鑰題和特殊通道才能完成。那麼的櫃子上的鎖就是公鑰、而你的鑰題是私鑰、特殊通道就是加密訊息傳送路徑,用這三個放法來保護你的資料是安全傳送的。

在這個過程中有二個部份是我們要自己動手做的,就是做出鑰題和鎖頭並把鎖頭安裝在櫃子上。

我們用GitHub於macOS中來做例子:

1. 首先在Terminal中執行ss-keygen這個命令,依序按ENTER完會出現以下畫面。

Screen Shot 2022-04-29 at 3.28.09 PM.png

 

紅色框線的部份id_rsa檔就是私鑰,而id_rsa.pub就是公鑰,也就是我們做的鎖頭。因此把這個檔案列出來看看長什麼樣子。

Screen Shot 2022-04-29 at 3.36.25 PM.png

如果你有正確看到類似這樣的資料代表公鑰(也就是鎖頭)有做好。

2. 進入GitHub的帳號後進入設定的SSH and GPG keys台把public key的內容完整貼上就完成了

Screen Shot 2022-04-29 at 3.41.47 PM.png

3. 再來就可以直接使用各種Remote命令,如push, pull , fetch等等進行同步。

Screen Shot 2022-04-29 at 4.16.46 PM.png

同學有問題可以提問,謝謝。

 

arrow
arrow
    文章標籤
    git指令 github ssh
    全站熱搜

    liusming 發表在 痞客邦 留言(0) 人氣()