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、身分驗證與網路相關術語。