SSH 是一種網絡協議,用于與 Linux 系統進行遠程安全通信。 默認情況下,SSH 服務使用端口 22。
您可以通過修改服務器的 SSH 端口來添加額外的安全層,并降低黑客和機器人攻擊的風險。
在本教程中,您將學習如何在 Linux 服務器修改 SSH 端口,本教程幾乎涵蓋所有發行版修改 SSH 服務端口的設置。
選擇一個新端口
Linux 系統為常用的服務保留低于 1024 的端口。 您也可以使用 1-1024 范圍內的端口作為 SSH 服務的端口。
但建議選擇高于 1024 的端口以避免將來出現問題。 您可以為 SSH 服務最多選擇 65535 個端口號。
我們將在本教程使用 4567 端口用于 SSH 服務,您可以根據自己的喜歡進行選擇,建議選擇一個易于記憶的。
設置防火墻
如果您的服務器啟用了防火墻,那么您需要在修改之前,也就是使用新的 SSH 端口之前對防火墻進行調整。 設置防火墻允許新的 SSH 端口的流量。
FirewallD 是 CentOS 系統默認的防火墻管理工具。 您可以在 CentOS 服務器運行以下命令打開新端口:
sudo firewall-cmd --permanent --zone=public --add-port=4567/tcp
sudo firewall-cmd --reload
在基于 CentOS 或 RHEL Linux 的發行版,另一個要求是調整 SELinux 規則允許新的 SSH 端口 4567。 您可以運行以下命令來完成 SELinux 設置:
sudo semanage port -a -t ssh_port_t -p tcp 4567
在 Ubuntu 系統,默認的防火墻工具是 UFW。 運行命令 sudo ufw allow 4567 允許新的 SSH 端口 4567 進行連接:
sudo ufw allow 4567
如果你已經在你的 Linux 服務器安裝 iptables 并用作防火墻,你可以運行以下命令打開端口 4567:
sudo iptables -A INPUT -p tcp --dport 4567 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
配置 SSH
在 Linux 中,SSH 服務默認端口存儲在 etc/ssh/sshd_config 文件中。 首先,您需要使用您喜歡的文本編輯器打開 SSH 配置文件進行編輯。
在本教程中我們將使用 vim 編輯器,運行命令 sudo vim etc/ssh/sshd_config:
sudo vim etc/ssh/sshd_config
現在在文件中搜索以port 22 開頭的行。 大多數情況下,此行用井號 # 注釋掉。 刪除 # 并輸入您將使用的新 SSH 端口號,而不是標準的 SSH 端口 22。
修改后的最終結果它應該如下所示:
Port 4567
完成上述更改后,保存文件并重新啟動 SSH 服務。
sudo systemctl restart ssh
在基于 CentOS 或 RHEL Linux 的發行版中,ssh 服務名稱是 sshd,因此您需要運行命令 sudo systemctl restart sshd 來重啟 sshd 服務:
sudo systemctl restart sshd
您可以運行命令 ss-an | grep 4567 來驗證 SSH 服務是否正在監聽新端口 4567:
ss-an | grep 4567
它將打印如下輸出:
tcp LISTEN 0 128 0.0.0.0:4567 0.0.0.0:*
tcp LISTEN 0 128 [::]:4567 [::]:*
使用新端口連接 SSH 服務器
現在,您已成功修改 SSH 服務的端口。 要使用新端口建立連接,您必須使用 SSH 命令的 -p 選項指定端口號。 如下所示:
ssh -p 4567 username@remote_ip_address
結論
您已學習如何修改 Linux 系統的 SSH 端口。
-
Linux
+關注
關注
87文章
11304瀏覽量
209503 -
服務器
+關注
關注
12文章
9160瀏覽量
85421 -
防火墻
+關注
關注
0文章
417瀏覽量
35613 -
端口
+關注
關注
4文章
964瀏覽量
32079 -
SSH
+關注
關注
0文章
189瀏覽量
16337
發布評論請先 登錄
相關推薦
評論