
它是什麼
SSH 讓管理員能在遠端機器上使用命令列。透過連線傳送的所有內容都經過加密,包括登入本身。它取代了較舊的工具,例如以明文傳送密碼的 Telnet。常用的實作是 OpenSSH,隨附於 Linux、macOS 與目前版本的 Windows。伺服器預設在 22 連接埠監聽 SSH。
同一條連線不只能執行指令。它也能複製檔案(SCP 與 SFTP),並透過加密通道傳送其他流量。Git 與 Ansible 等工具在底層都使用 SSH。
用金鑰取代密碼
SSH 可以用密碼登入,但更好的方式是金鑰對。私密金鑰保留在管理員的電腦上,絕不會傳送到任何地方。對應的公開金鑰則放在伺服器上。登入時,伺服器會確認這個人持有私密金鑰。金鑰無法像密碼那樣被猜出來,而且每位管理員都有自己的金鑰,因此可以一次撤銷一個人的存取權。
為什麼這對企業很重要
- 伺服器就是這樣運作的:Linux 伺服器、防火牆與交換器的更新、修復與設定,都透過 SSH 進行。
- 它是攻擊目標:任何可從網際網路連到的 SSH 伺服器,都會不斷被自動化的密碼猜測掃描。
- 存取權需要有人負責:人員離職後留在伺服器上的金鑰仍然有效。必須有人維護誰可以登入的清單。
良好做法
- 只用金鑰:金鑰就緒後,關閉密碼登入。
- 不直接以 root 登入:管理員以自己的身分登入,需要時再提升權限,因此日誌能顯示誰做了什麼。
- 不要暴露在開放的網際網路上:請透過 VPN 或 Tailscale、WireGuard 之類的私有網路連到 SSH,或在防火牆上限制只有已知位址可連線。
- 保護私密金鑰:為它設定通關密語,或將它存放在硬體安全金鑰中。
- 人員離職時移除金鑰:把它當作離職程序的一部分。
KawaConnect 如何運用 SSH
我們透過 SSH 管理所照管的 Linux 伺服器、防火牆與網路設備,採用以金鑰為基礎的登入,且遠端存取不會對網際網路敞開。存取權有完整記錄,因此客戶能看到誰有辦法連到其系統。這屬於我們 Linux 伺服器支援與網路安全服務的一部分。
相關服務
瞭解更多
- 維基百科的 Secure Shell 條目對這個協定、其歷史與用途的中立介紹。
- OpenSSH多數系統上 SSH 軟體背後的專案,附有說明手冊頁面。
- Arch Wiki 上的 OpenSSH設定金鑰與強化伺服器的實用參考資料,適用於任何 Linux 發行版。
- Windows 版 OpenSSHMicrosoft 針對 Windows 內建 SSH 用戶端與伺服器的指南。