SSH (Secure Shell) 是 Linux 遠端管理的標準協定,預設使用 TCP 22 號連接埠。因為廣為人知,常成為暴力破解攻擊的目標。修改 SSH 預設連接埠是一項簡單且有效的基礎防護措施,能大幅降低自動化掃描與嘗試登入的風險。
SSH 由 IETF 網路工作小組制定,建立在應用層與傳輸層之上,提供加密的遠端登入、指令執行與檔案傳輸功能。其核心優勢在於:
先檢查是否已安裝 OpenSSH Server:
rpm -qa | grep ssh
確認服務正在運行(以 CentOS 為例):
systemctl status sshd
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
vi /etc/ssh/sshd_config
找到 #Port 22 行,取消註解並新增一行自訂連接埠(建議選擇 1024-65535 之間未被佔用的連接埠,例如 2222):
Port 22
Port 2222
注意:建議暫時保留 22 連接埠,確認新連接埠可正常連線後,再註解掉 Port 22,避免因設定錯誤導致自己無法登入。
開放新連接埠(以 firewalld 為例):
firewall-cmd --permanent --add-port=2222/tcp
firewall-cmd --reload
若使用 iptables:
iptables -A INPUT -p tcp --dport 2222 -j ACCEPT
service iptables save
systemctl restart sshd
在另一個終端機視窗測試:
ssh -p 2222 user@server_ip
確認能成功登入後,再回到伺服器編輯 sshd_config 註解掉 Port 22,並重啟 sshd。
PermitRootLogin no,改用一般帳號登入後再 su 或 sudo。PubkeyAuthentication yes、PasswordAuthentication no。AllowUsers adminuser 或 AllowGroups sshusers。修改 SSH 連接埠只是第一道防線,結合上述進階設定,才能構建較完善的遠端存取安全防護。