iT邦幫忙

2021 iThome 鐵人賽

DAY 21
2
自我挑戰組

新手全端工程師的職場成長歷程系列 第 21

Day21:【技術篇】SSH 的基本運作原理

  • 分享至 

  • xImage
  •  

一、前言

  會想了解 SSH 是因為工作上和自己使用 GitHub 時,都有看過這個名詞,所以有稍微了解一下它的原理。直接破題解答,SSH 是一個連線加密機制,如果要生動地瞭解它的奧秘,推薦可以去看這篇文章([Security] 你該知道所有關於 SSH 的那些事)!

二、SSH 的基本原理

  SSH 是 Secure Shell 的縮寫,可以把它想成是有加密過的遠程連線(telnet)。它是由 IETF 的網路工作小組(Network Working Group)所制定;SSH 為建立在應用層和傳輸層基礎上的安全協議。
  遠程連線(telnet)和 SSH 是同類型的東西。差別在於 SSH 的連線通道是經過加密,它使用 public 和 private key 的 Architecture 來做連線通道的加解密。
  也就是說,SSH 讓我們在與遠端電腦(遠端伺服器)連線時,能夠先將訊息加密過後再傳送,並且確保只有「被認可的人」才能夠解密訊息。因此,就算是在一個不安全的網絡裡面,SSH 都能夠確保連線不被竊聽。
  然而 SSH 有個很值得一提的優點為其傳輸的數據是經過壓縮的,所以可以加快傳輸的速度。並且許多作業系統,包含 macOS, Linux, OpenBSD, FreeBSD 都支援 SSH。

遠端連線方式(資料參考來源)
遠端連線方式

三、公鑰與私鑰的觀念

  SSH 使用 public-key cryptography 來為資料流加密。雖然 Public Key Crytography(PK crypto)需要很多時間與CPU,但它讓我們可以傳送加密訊息而不需要先交換任何秘密資訊。

觀念示意圖(資料參考來源)
觀念示意圖

四、SSH 的運作原理

  SSH 係使用 client-server 模型 之方式運行。

五、結論與自我鼓勵

  今天這篇文章算是小小解釋 SSH 的原理,並沒有介紹得太深,因為我也還在努力學習中,如果有推薦的文章或資源,也歡迎大家分享唷~


本文同步發佈於我的個人網站 Annie Code Life


上一篇
Day20:【技術篇】無障礙網頁之前端切版基本概念
下一篇
Day22:【技術篇】CSS 的變數運用技巧(1)
系列文
新手全端工程師的職場成長歷程30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
kk00915
iT邦新手 4 級 ‧ 2021-10-07 23:16:25

一起努力學習~(牽

我要留言

立即登入留言