使用 HTTPS/SSL 憑證來確定 SSH 會話的真實性

使用 HTTPS/SSL 憑證來確定 SSH 會話的真實性

我剛剛註冊了我的網站,以便人們可以透過 HTTPS 存取(並且將被迫這樣做,HSTS 和重定向是配置的一部分)。

它是透過 GitLab 設定的。我可以透過 HTTPS 存取我的儲存庫。我安裝了工作站的公共證書,由以下命令生成

ssh-keygen -t rsa -b 4096 -C“工作站名稱”

這樣我就可以在沒有使用者名稱/密碼組合的情況下推送和拉取檔案。

現在我嘗試查看

複製[電子郵件受保護]:group/repository.git

我得到了舊的提示

無法確定主機「git.myserver.com (#.#.#.#)」的真實性。 RSA 金鑰指紋為 SHA256:HAHANO17pLUsNE2KoVKweYDEwhJHu1l4ugaoT+fHdx0。

您確定要繼續連線嗎(是/否)?

....可是等等。 HTTPS 不需要使用者確認,因為憑證不是自簽署的。

我一直在閱讀“X.509” - 該憑證授權單位看起來與為我提供 HTTPS 憑證的 CA 是同一件事。那麼,我可以將伺服器的 SSH 設定為使用相同的簽章憑證(這樣我就不必手動確認伺服器的資料並將其儲存在工作站的known_hosts 檔案中)嗎?而且,我如何配置 ssh/任何生成的檔案?

答案1

首先,SSH 和 HTTPS 是 2 個不同連接埠(分別為 22 和 443)上執行的 2 種不同服務,使用 2 種不同的協定(ssh 和分別基於 TLS/SSL 的 HTTP)。這些協定不相容。

此外,SSH 不使用 PKI(公鑰基礎架構),但伺服器驗證是基於雜湊簽名,您應該透過帶外通道向 SSH 伺服器的擁有者進行驗證(例如查看負責伺服器的管理員) )。

有一個軟體可以將 PGP 用於信任網絡,您可以將其用於 SSH,而不是基於 X509 憑證的 PKI。看:https://serverfault.com/a/60287

相關內容