萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 網路安全 >  >> 資訊安全防護

SSH安全殼協議工作原理深度解析:兩種認證模式與中間人風險

SSH(Secure Shell)由IETF網絡工作組制定,基於應用層/傳輸層,為遠程登錄會話及網絡服務提供安全協議。正確使用可彌補網絡漏洞,客戶端跨平台支持。

兩種安全驗證級別

第一級:基於口令認證

  1. 遠程主機發送公鑰給客戶端;
  2. 客戶端用公鑰加密密碼發回;
  3. 服務器用私鑰解密驗證,通過則允許登錄。

風險:無法確認服務器真實身份,易遭中間人攻擊——攻擊者冒充服務器發送偽造公鑰,解密獲取明文密碼。首次連接會提示「公鑰指紋」,用戶確認後保存至~/.ssh/known_hosts,後續連接自動驗證主機身份。

第二級:基於密鑰對認證(推薦)

  1. 用戶生成密鑰對(ssh-keygen),將公鑰部署至目標服務器~/.ssh/authorized_keys;
  2. 連接時客戶端請求密鑰認證;
  3. 服務器比對公鑰一致後,用公鑰加密挑戰碼發送客戶端;
  4. 客戶端用私鑰解密挑戰碼並回傳;
  5. 服務器驗證成功,建立加密會話。

優勢:全程無密碼傳輸,私鑰不出本地,中間人攻擊無效(無私鑰無法解密挑戰碼)。登錄耗時約10秒,安全性大幅提升。

最佳實踐清單

  • 禁用密碼認證(PasswordAuthentication no),強制密鑰登錄;
  • 私鑰設置強口令保護,或使用ssh-agent托管;
  • 修改默認端口22(減少自動掃描噪音);
  • 限制登錄用戶/組(AllowUsers/Groups)、禁止root直接登錄(PermitRootLogin no);
  • 啟用Fail2Ban動態封鎖暴力破解IP;
  • 定期輪換密鑰對,撤銷舊公鑰;
  • 審計/var/log/auth.log或/var/log/secure,異常登錄即時告警。

SSH是Linux/Unix運維生命線,密鑰認證+最小權限+審計告警構建鋼鐵防線。

copyright © 萬盛學電腦網 all rights reserved