SSH 知識與實用範例

從連線、金鑰管理到檔案傳輸,依任務查閱指令與實務說明。獨立於 Secure Pipes 使用指南。

除另有說明外,範例均在本機 Mac 或 Linux 電腦的 zsh/bash 中執行。alice 和 *.example.com 均為預留值。Windows OpenSSH 的路徑、代理程式及工具可用性不同。可用 ssh -V 查看版本,以 man <指令名稱> 查閱本機手冊。

連線與通道

ssh

登入伺服器、執行指令,以及建立加密通道。

金鑰與驗證

ssh-keygen

產生金鑰對、查看指紋,以及變更私鑰通行片語。

ssh-copy-id

將公鑰安裝至遠端帳號的 authorized_keys。

ssh-agent

透過驗證代理程式為 SSH 用戶端保管可用的簽署身分。

ssh-add

向既有驗證代理程式新增、查看或移除身分。

ssh-keyscan

擷取伺服器主機金鑰,供後續檢查。

檔案傳輸

scp

透過 SSH 連線複製檔案。

sftp

透過 SSH 互動式上傳及下載檔案。

設定

~/.ssh/config

將常用連線參數儲存至 SSH 用戶端設定檔。

sshd_config

設定 OpenSSH 伺服器:監聽、驗證、轉送、存取控制和日誌記錄。

伺服器安全

Fail2ban

安裝並設定 Fail2ban 以暫時阻止 Ubuntu 伺服器上重複的 SSH 驗證失敗。

SSH OTP

使用 Linux PAM 和 Google Authenticator 的 PAM 模組為 SSH 登入新增基於時間的一次性程式碼。

SSH 服務強化

檢查並收緊 Ubuntu 伺服器的 SSH 存取。

SSH 防火牆

檢查 UFW 規則並限制 SSH 的可信來源。

SSH 金鑰安全

建立、部署、驗證及輪替 SSH 驗證金鑰。

SSH 復原

準備復原途徑並排查 SSH 伺服器設定。

附錄

術語表

解釋 SSH、身分驗證與網路相關術語。