SSH 安全機制深度解析:從協商到金鑰交換的完整指南

更新 發佈閱讀 3 分鐘

1. 前言

對工程師來說,幾乎每天都會用到的「SSH」為什麼能確保安全?本文將一步步帶你了解 SSH 通訊背後的機制。


2. SSH 連線的全貌

先來看 SSH 連線建立的整體流程。從客戶端發出連線請求,到最終開始安全的加密通訊,中間其實經過了多個步驟。

(下文會逐步解析圖示中的每個步驟)


3. Step 1-2:通訊前的協商

在正式通訊開始前,客戶端與伺服器要先決定「要用什麼方式加密溝通」。

  • 版本交換:雙方先交換 SSH 版本字串,例如 SSH-2.0-OpenSSH_8.2p1。若版本不符,連線會直接中斷。
  • 演算法交換:交換彼此支援的加密方式,主要有 4 種類型:
    1. 金鑰交換演算法(例如:ecdh-sha2-nistp256)
    2. 伺服器主機金鑰演算法(例如:ecdsa-sha2-nistp256)
    3. 對稱式加密演算法(例如:aes256-gcm@openssh.com
    4. 訊息驗證碼 (MAC) 演算法(例如:hmac-sha2-256-etm@openssh.com

這階段可能遇到「降級攻擊」(強迫使用舊的、不安全的演算法)。現代的 SSH 客戶端與伺服器通常會預設關閉不安全的演算法以防範攻擊。


4. Step 3-4:主機認證與工作階段金鑰生成

  • 主機認證:伺服器用自己的「主機私鑰」簽名資料給客戶端,客戶端再用已知或首次儲存的「主機公開金鑰」驗證。這能避免 中間人攻擊 (MITM)
    • 驗證後的主機金鑰會存放在 ~/.ssh/known_hosts
    • 第一次連線時會看到提示:Are you sure you want to continue connecting (yes/no)?
  • 金鑰交換 (DH/ECDH):透過 Diffie-Hellman/ECDH 演算法,雙方能在被竊聽的情況下,仍安全生成相同的「一次性工作階段金鑰」。這個金鑰之後會用來加密整段通訊。

5. Step 5:使用者認證

確保登入伺服器的使用者身份正確。

  • 公開金鑰認證:使用者用「私鑰」簽署資料,伺服器用已註冊的「公開金鑰」驗證。
    • 不需在網路上傳輸固定密碼,安全性比
留言
avatar-img
留言分享你的想法!
avatar-img
Kiki的沙龍
4會員
51內容數
心繫正體中文的科學家,立志使用正體中文撰寫文章。 此沙龍預計涵蓋各項資訊科技知識分享與學習心得
Kiki的沙龍的其他內容
2025/09/28
大家在用 Claude Code 開發時,有沒有想過「希望能做更深入的分析」、「想解決更複雜的問題」呢?特別是最近這一個月,Claude Code 部分模型的效能下降了,應該有不少人因此感到困擾。可能因此,有不少人開始轉去使用 OpenAI 推出的 Codex CLI。但老實說,我還是想在日常開發中
2025/09/28
大家在用 Claude Code 開發時,有沒有想過「希望能做更深入的分析」、「想解決更複雜的問題」呢?特別是最近這一個月,Claude Code 部分模型的效能下降了,應該有不少人因此感到困擾。可能因此,有不少人開始轉去使用 OpenAI 推出的 Codex CLI。但老實說,我還是想在日常開發中
2025/06/12
微軟於 2025 年 5 月 20 日盛大舉行 Microsoft Build 開發者大會,宣布 AI 代理(AI Agent)時代已正式展開,並將引領科技進入一個全新的階段。隨著推理與知識管理技術的突破,AI 模型如今更強大、有效率,本文整理所有新的發表與未來趨勢。
2025/06/12
微軟於 2025 年 5 月 20 日盛大舉行 Microsoft Build 開發者大會,宣布 AI 代理(AI Agent)時代已正式展開,並將引領科技進入一個全新的階段。隨著推理與知識管理技術的突破,AI 模型如今更強大、有效率,本文整理所有新的發表與未來趨勢。
2025/04/27
Meta 推出了開源大型語言模型 Llama。這一代特別引人注目,因為 80 億參數的模型小到可以在家用電腦上運行,效能卻不輸比它大十倍的模型。在許多應用場景下,它給出的回應品質已經能媲美 GPT-4。在這篇文章裡,我會說明自架 Llama 3 的優缺點,並提供設定方式與資源,讓讀者也能輕鬆動手。
2025/04/27
Meta 推出了開源大型語言模型 Llama。這一代特別引人注目,因為 80 億參數的模型小到可以在家用電腦上運行,效能卻不輸比它大十倍的模型。在許多應用場景下,它給出的回應品質已經能媲美 GPT-4。在這篇文章裡,我會說明自架 Llama 3 的優缺點,並提供設定方式與資源,讓讀者也能輕鬆動手。
看更多
你可能也想看
Thumbnail
還在煩惱平凡日常該如何增添一點小驚喜嗎?全家便利商店這次聯手超萌的馬來貘,推出黑白配色的馬來貘雪糕,不僅外觀吸睛,層次豐富的雙層口味更是讓人一口接一口!本文將帶你探索馬來貘雪糕的多種創意吃法,從簡單的豆漿燕麥碗、藍莓果昔,到大人系的奇亞籽布丁下午茶,讓可愛的馬來貘陪你度過每一餐,增添生活中的小確幸!
Thumbnail
還在煩惱平凡日常該如何增添一點小驚喜嗎?全家便利商店這次聯手超萌的馬來貘,推出黑白配色的馬來貘雪糕,不僅外觀吸睛,層次豐富的雙層口味更是讓人一口接一口!本文將帶你探索馬來貘雪糕的多種創意吃法,從簡單的豆漿燕麥碗、藍莓果昔,到大人系的奇亞籽布丁下午茶,讓可愛的馬來貘陪你度過每一餐,增添生活中的小確幸!
Thumbnail
在處理Linux時,遇到了Kubuntu 22.04的SSH連線問題。本文將介紹如何完整移除之前裝過的SSH並重新安裝以解決問題。
Thumbnail
在處理Linux時,遇到了Kubuntu 22.04的SSH連線問題。本文將介紹如何完整移除之前裝過的SSH並重新安裝以解決問題。
Thumbnail
前言 大家好上次教 Gitlab CI/CD 如何撰寫 CI/CD 腳本,使用 ssh 自動連線目標主機,很受到大家關注,在這裡先跟大家說一聲謝謝,以後會繼續做有意義的文章給各位,今天要教大家如何使用 scp 這個使令,將我們的檔案複製到目標主機,並進行佈署動作,我們之後會使用 Docker Co
Thumbnail
前言 大家好上次教 Gitlab CI/CD 如何撰寫 CI/CD 腳本,使用 ssh 自動連線目標主機,很受到大家關注,在這裡先跟大家說一聲謝謝,以後會繼續做有意義的文章給各位,今天要教大家如何使用 scp 這個使令,將我們的檔案複製到目標主機,並進行佈署動作,我們之後會使用 Docker Co
Thumbnail
前言 上次我們教到完了怎麼在 Gitlab CI/CD 怎麼自動打包 Docker Image 並自動上傳到 Docker Hub 以及如何將 Docker Image 做版號,今天我們來教 Gitlab CI/CD 其中之一很重要的是自動 ssh 連線,因為往後我們會透過 Gitlab 伺服器使
Thumbnail
前言 上次我們教到完了怎麼在 Gitlab CI/CD 怎麼自動打包 Docker Image 並自動上傳到 Docker Hub 以及如何將 Docker Image 做版號,今天我們來教 Gitlab CI/CD 其中之一很重要的是自動 ssh 連線,因為往後我們會透過 Gitlab 伺服器使
Thumbnail
第一天上班,你需要設定 SSH key,因為你將使用 SSH 來 clone 代碼 Repo。SSH 與 HTTP 的主要差別在於安全性和速度,而 SSH 比 HTTP 更加安全和快速。本篇文章的主要目的是介紹如何在一台電腦上使用 SSH 登入多個 GitHub 和 GitLab 帳戶。 不管你的
Thumbnail
第一天上班,你需要設定 SSH key,因為你將使用 SSH 來 clone 代碼 Repo。SSH 與 HTTP 的主要差別在於安全性和速度,而 SSH 比 HTTP 更加安全和快速。本篇文章的主要目的是介紹如何在一台電腦上使用 SSH 登入多個 GitHub 和 GitLab 帳戶。 不管你的
Thumbnail
在進行開發工作時,可能會使用不同的 Git 帳號做登入和推送的情形,例如: 公司的 Git 帳號和個人的帳號,這樣做的好處是為了確保開發工作能清楚劃分,所以需要做切換帳號的動作,特別是在不同的專案間切換 commit 的對象,因此有了這篇文紀錄這個過程。
Thumbnail
在進行開發工作時,可能會使用不同的 Git 帳號做登入和推送的情形,例如: 公司的 Git 帳號和個人的帳號,這樣做的好處是為了確保開發工作能清楚劃分,所以需要做切換帳號的動作,特別是在不同的專案間切換 commit 的對象,因此有了這篇文紀錄這個過程。
Thumbnail
紀錄有哪些方式可以ssh到gce機器 放key到中繼資料 Compute Enging -> 中繼資料 -> 安全殼層金鑰 2. 使用TCP Tunneling 3. 使用gcloud ssh 可編寫tunnel的script 使用 IAP 进行 TCP 转发 | Identity-Aware Pr
Thumbnail
紀錄有哪些方式可以ssh到gce機器 放key到中繼資料 Compute Enging -> 中繼資料 -> 安全殼層金鑰 2. 使用TCP Tunneling 3. 使用gcloud ssh 可編寫tunnel的script 使用 IAP 进行 TCP 转发 | Identity-Aware Pr
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News