CentOS7更改默認SSH端口與配置指南
引言
SSH(Secure Shell)是 Linux 服務器遠程管理的核心工具,其默認監(jiān)聽端口為 22。由于端口 22 眾所周知,這也使得服務器容易受到自動化掃描和暴力 破解攻擊。雖然更改 SSH 默認端口只是安全加固的一種輔助手段,但它能有效地降低被自動化攻擊工具掃描的風險。
本文將系統(tǒng)性地介紹如何在 CentOS 7 系統(tǒng)中安全地更改 SSH 端口,解決 SELinux 和防火墻相關配置,確保遠程訪問不中斷。同時,我們還會探討提升 SSH 安全性的更有效搭配方案。
為什么要更改 SSH 默認端口?
- 減少自動掃描攻擊:大量惡意機器人默認掃描 22 端口,通過更改端口可以減少被掃描的概率。
- 防止大規(guī)模暴力 破解:將 SSH 端口調整到非標準端口可以有效防止針對 22 端口的暴力 破解攻擊。
- 配合其他安全措施提升防御層次:雖然更改端口并不能阻止有決心的攻擊者掃描,但這是安全“深度防御”策略的一部分。
提示:更安全的 SSH 防護手段是使用基于密鑰的無密碼登錄、限制 IP 白名單、以及開啟兩步驗證等措施。
步驟詳解:如何更改 CentOS 7 的 SSH 默認端口
1. 備份 SSH 配置文件
在動手修改前,請務必備份當前配置,防止誤修改導致無法登錄救援。
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
2. 修改 SSH 配置文件,增加或更改端口
編輯 SSH 服務配置文件:
sudo vi /etc/ssh/sshd_config
找到 Port
行,默認是:
Port 22
您可以采用如下兩種策略:
- 增加新端口,保留 22 端口(安全切換期)
Port 22 Port 2244
- 直接修改成新端口,禁用 22
Port 2244
修改后,保存并退出編輯器。
安全建議:初次更改建議先添加新端口,確保能夠成功通過新端口登錄,再關閉 22,以免被鎖定。
3. 配置 SELinux 允許新 SSH 端口
CentOS 7 默認開啟 SELinux,且默認只開放 22 端口用于 SSH 服務,需添加新端口:
sudo semanage port -a -t ssh_port_t -p tcp 2244
- 如果出現(xiàn)
semanage: command not found
錯誤,安裝必需包:
sudo yum -y install policycoreutils-python
- 重復執(zhí)行添加端口命令。
提示:
也可以臨時關閉 SELinux,但不推薦,因為會降低系統(tǒng)整體安全等級:
sudo setenforce 0
4. 配置防火墻(Firewalld)放行新端口
確保新端口能通過防火墻訪問:
sudo firewall-cmd --permanent --zone=public --add-port=2244/tcp
若出現(xiàn) FirewallD is not running
,先啟動防火墻:
sudo systemctl enable firewalld sudo systemctl start firewalld
確認防火墻運行狀態(tài):
sudo firewall-cmd --state
加載新配置:
sudo firewall-cmd --reload
5. 重啟 SSH 服務生效
生效更改:
sudo systemctl restart sshd.service
驗證 SSH 服務狀態(tài):
sudo systemctl status sshd.service
測試 SSH 新端口連接
在本地嘗試使用新端口連接服務器:
ssh root@服務器IP地址 -p 2244
確認可以成功登錄后,如果之前是雙端口開啟,可以將 22 端口從配置以及防火墻規(guī)則中移除,以完成端口切換。
關閉舊端口 22(可選)
修改
/etc/ssh/sshd_config
注釋掉或刪除Port 22
,只保留新端口。刪除防火墻上的 22 端口放行規(guī)則:
sudo firewall-cmd --permanent --zone=public --remove-port=22/tcp sudo firewall-cmd --reload
- 重啟 SSH 服務。
阿里云服務器特殊說明:安全組配置
如果服務器部署于阿里云 ECS,除了系統(tǒng)防火墻,云平臺安全組規(guī)則也需允許新 SSH 端口:
- 登錄阿里云控制臺。
- 找到對應實例的安全組配置。
- 在“入方向”規(guī)則中添加 TCP 新端口(如 2244)。
- 保存后生效。
該配置確保公網(wǎng)訪問能夠連接新端口。
更高級的 SSH 安全建議
僅僅更改端口,是“安全通過模糊”策略的開始,建議配合以下措施:
基于密鑰的無密碼登錄:生成 SSH 密鑰對,只允許擁有密鑰的主機登錄,關閉密碼登錄。
參考命令:
ssh-keygen -t rsa -b 4096 ssh-copy-id -p 2244 user@server
限制 IP 白名單:通過防火墻只允許信任 IP 地址訪問 SSH 端口。
禁用 root 直接登錄:修改
/etc/ssh/sshd_config
,設置
PermitRootLogin no
開啟 Fail2Ban 等暴力 破解防護工具:自動禁止多次失敗登錄的 IP。
使用雙因子認證(2FA):增加登錄認證層級。
結語
更改 SSH 默認端口到非標準端口,是提高服務器安全的有效手段之一,但千萬不要以此為唯一安全策略。結合 SSH 密鑰認證、IP 限制、防火墻硬化和系統(tǒng)增強更能打造堅固的服務器安全防線。希望本文的步驟對您順利完成 SSH 端口更改和安全強化有所幫助!
以上就是CentOS7更改默認SSH端口與配置指南的詳細內容,更多關于CentOS7更改SSH端口與配置的資料請關注腳本之家其它相關文章!
相關文章
在Ubuntu 14 上安裝 Nginx-RTMP 流媒體服務器的教程
RTMP流媒體協(xié)議是 一套 Adobe 開發(fā)的音頻視頻實時傳輸協(xié)議;nginx-rtmp 是一個基于nginx的 RTMP服務模塊,開源,免費,接下來通過本文給大家介紹在Ubuntu 14 上安裝 Nginx-RTMP 流媒體服務器,需要的朋友可以參考下2019-11-11Linux命令中Ctrl+z、Ctrl+c和Ctrl+d的區(qū)別和使用詳解
這篇文章主要介紹了Linux命令中Ctrl+z、Ctrl+c和Ctrl+d的區(qū)別和使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-12-12