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