前言
默認(rèn)情況下, SSH 偵聽端口 22 。 更改默認(rèn) SSH 端口可以降低被自動(dòng)攻擊的風(fēng)險(xiǎn),從而為服務(wù)器增加額外的安全層。和更改默認(rèn)端口相比,將防火墻配置為僅允許從特定主機(jī)訪問端口 22 則更加簡單和安全。本教程介紹如何更改 Linux 中的默認(rèn) SSH 端口。我們還將向您展示如何配置防火墻以允許訪問新的 SSH 端口。
選擇新的端口號(hào)
在 Linux 中,低于 1024 的端口號(hào)保留用于眾所周知的服務(wù),并且只能由 root 綁定。雖然您可以使用 1-1024 范圍內(nèi)的端口進(jìn)行 SSH 服務(wù),但為了避免將來出現(xiàn)端口分配問題,建議選擇 1024 以上的端口。在此示例中,將 SSH 端口更改為 5522 ,當(dāng)然您可以選擇任何您喜歡的端口。
調(diào)整防火墻
在更改 SSH 端口之前,首先需要調(diào)整防火墻以允許新 SSH 端口上的流量。
如果您使用的是 Ubuntu 的默認(rèn)防火墻配置工具 UFW , 請(qǐng)運(yùn)行以下命令來打開新的 SSH 端口:
1 sudo ufw allow 5522/tcp
在 CentOS 中,默認(rèn)的防火墻管理工具是 FirewallD 。要打開新端口,請(qǐng)運(yùn)行以下命令:
1sudo firewall-cmd --permanent --zone=public --add-port=5522/tcp
2sudo firewall-cmd --reload
CentOS 用戶還需要調(diào)整 SELinux 規(guī)則以允許新的SSH端口:
1 sudo semanage port -a -t ssh_port_t -p tcp 5522
如果您使用 iptables 作為防火墻,則以下命令將打開新的 SSH 端口:
1 sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
編輯 SSH 配置
使用文本編輯器打開 SSH 配置文件 /etc/ssh/sshd_config :
Port 5522
修改 SSH 配置文件時(shí)要格外小心。不正確的配置可能導(dǎo)致 SSH 服務(wù)無法啟動(dòng)。
完成后保存文件并重新啟動(dòng) SSH 服務(wù)以應(yīng)用更改:
現(xiàn)在您已經(jīng)更改了要登錄遠(yuǎn)程的計(jì)算機(jī) SSH 端口,您需要在登錄時(shí)指定新端口。
使用 -p <port_number> 選項(xiàng)指定端口:
通過以上方式,就可以修改我們的SSH端口,但是一般情況下不進(jìn)行修改,SSH本身很安全,但如果在復(fù)雜網(wǎng)絡(luò)環(huán)境中,有此需求,就可以考慮。