使用 HTTPS/SSL 證書建立 SSH 會話的真實性
我剛剛註冊了我的網站,因此人們可以通過 HTTPS 訪問(並且將被迫這樣做,HSTS 和重定向是配置的一部分)。
它是用 GitLab 設置的。我可以通過 HTTPS 訪問我的儲存庫。我安裝了一個工作站的公共證書,生成的
ssh-keygen -t rsa -b 4096 -C “工作站名稱”
所以我可以在沒有使用者名/密碼組合的情況下推送和拉取文件。
現在我嘗試檢查
git clone git@git.myserver.com:group/repository.git
我得到了舊的提示
無法確定主機 ‘git.myserver.com (#.#.#.#)’ 的真實性。RSA 密鑰指紋為 SHA256:HAHANO17pLUsNE2KoVKweYDEwhJHu1l4ugaoT+fHdx0。
您確定要繼續連接(是/否)?
…可是等等。HTTPS 不需要使用者確認,因為證書不是自簽名的。
我一直在閱讀“X.509”——證書頒發機構看起來與給我 HTTPS 證書的 CA 相同。那麼,我可以將我的伺服器的 SSH 配置為使用相同的簽名證書(這樣我就不必手動確認並將伺服器的數據儲存在我的工作站的 known_hosts 文件中)?而且,我如何配置 ssh/任何生成的文件?
首先 SSH 和 HTTPS 是在 2 個不同的埠(22 和分別為 443)上執行的 2 個不同的服務,使用 2 個不同的協議(ssh 和分別通過 TLS/SSL 的 HTTP)。這些協議是不兼容的。
此外,SSH 不使用 PKI(公鑰基礎設施),但伺服器身份驗證基於雜湊簽名,您應該通過帶外通道與 SSH 伺服器的所有者進行驗證(例如查看負責伺服器的管理員) )。
有一個軟體可以將 PGP 用於信任網路,您可以將其用於 SSH 而不是基於 X509 證書的 PKI。請參閱:https ://serverfault.com/a/60287