Linux系統(tǒng)修改ssh遠程端口的方法步驟
1. 修改 SSH 遠程端口的步驟
1.1 登錄服務器
使用當前的 SSH 端口登錄服務器(默認端口為 22):
ssh root@<服務器IP地址> -p 22
如果是非 root 用戶,請使用具有 sudo 權(quán)限的賬戶登錄。
1.2 修改 SSH 配置文件
使用文本編輯器打開 sshd_config 文件:
sudo nano /etc/ssh/sshd_config
或者:
sudo vi /etc/ssh/sshd_config
找到以下行(如果沒有,則手動添加):
#Port 22
- 去掉
#注釋符號。 - 將端口號
22修改為你想要的端口號(例如2022或2222),如下:
Port 2022
確保以下設(shè)置已啟用并檢查是否存在(防止配置沖突):
AddressFamily inet PermitRootLogin yes # 如果允許 root 登錄,確保此項為 yes
1.3 修改防火墻規(guī)則
更改端口后,需要確保防火墻允許新端口的通信,否則可能導致無法連接。
1.3.1 使用 firewalld(CentOS/RedHat 系統(tǒng))
添加新端口規(guī)則(以 2022 為例):
sudo firewall-cmd --permanent --add-port=2022/tcp
移除默認端口(22)規(guī)則(如果不再需要):
sudo firewall-cmd --permanent --remove-port=22/tcp
重新加載防火墻規(guī)則:
sudo firewall-cmd --reload
1.3.2 使用 iptables(傳統(tǒng)防火墻)
添加新端口規(guī)則:
sudo iptables -A INPUT -p tcp --dport 2022 -j ACCEPT
移除默認端口規(guī)則(如果不再需要):
sudo iptables -D INPUT -p tcp --dport 22 -j ACCEPT
保存規(guī)則(確保重啟后規(guī)則仍生效):
sudo iptables-save > /etc/iptables/rules.v4
1.3.3 使用 ufw(Ubuntu/Debian 系統(tǒng))
允許新端口:
sudo ufw allow 2022/tcp
刪除默認端口(如果不再需要):
sudo ufw delete allow 22/tcp
檢查并啟用防火墻:
sudo ufw enable
1.4 重啟 SSH 服務
修改完成后,重啟 SSH 服務以應用更改:
sudo systemctl restart sshd
或:
sudo service sshd restart
如果使用 Ubuntu/Debian,服務名可能是 ssh:
sudo systemctl restart ssh
1.5 測試新的端口
打開新的 SSH 會話,測試是否能通過新端口連接:
ssh root@<服務器IP地址> -p 2022
注意:在測試新端口成功前,不要關(guān)閉當前的 SSH 會話,以免配置錯誤導致無法連接。
如果測試成功,可以關(guān)閉舊的端口會話。
2. 常見問題和解決方法
2.1 修改后無法連接
檢查防火墻是否開放了新端口:
使用以下命令檢查防火墻規(guī)則:
sudo firewall-cmd --list-ports # 適用于 firewalld sudo ufw status # 適用于 ufw
檢查 SSH 服務狀態(tài):
確保 SSH 服務已啟動且無錯誤:
sudo systemctl status sshd
檢查端口占用情況:
確保新端口未被其他服務占用:
sudo netstat -tuln | grep 2022
2.2 忘記新端口號
- 如果忘記了新端口號,可以通過以下方法查看:
- 登錄服務器的控制臺(通過云服務商提供的 Web 控制臺)。
- 查看 SSH 配置文件:
cat /etc/ssh/sshd_config | grep Port
3. 安全性優(yōu)化建議
除了修改默認 SSH 端口,還可以采取以下措施增強 SSH 安全性:
3.1 禁用密碼登錄,啟用密鑰登錄
生成 SSH 密鑰對(如果尚未生成):
ssh-keygen -t rsa -b 4096
將公鑰上傳到服務器:
ssh-copy-id -i ~/.ssh/id_rsa.pub root@<服務器IP>
修改 SSH 配置文件,禁用密碼登錄:
sudo nano /etc/ssh/sshd_config
找到并修改以下項:
PasswordAuthentication no
重啟 SSH 服務:
sudo systemctl restart sshd
3.2 限制登錄 IP
修改防火墻規(guī)則,只允許特定 IP 地址訪問 SSH:
使用 firewalld:
sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='<你的IP>' port port=2022 protocol=tcp accept"
替換 <你的IP> 為你的公網(wǎng) IP 地址。
重載防火墻:
sudo firewall-cmd --reload
或編輯 /etc/hosts.allow 文件:
sshd: <你的IP>
3.3 啟用 Fail2ban
安裝并配置 Fail2ban,自動封禁多次嘗試登錄失敗的 IP:
sudo yum install epel-release -y sudo yum install fail2ban -y
啟動并配置:
sudo systemctl start fail2ban sudo systemctl enable fail2ban
4. 總結(jié)
修改 SSH 端口是提升服務器安全性的有效措施,但需要注意以下幾點:
- 修改端口后,確保防火墻規(guī)則已更新,并測試新端口連接。
- 配合其他安全措施(如密鑰登錄、IP 限制、Fail2ban)進一步提升安全性。
- 在修改前備份 SSH 配置文件,避免因配置錯誤導致服務器無法訪問:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
通過以上步驟,你可以安全地修改 SSH 端口并保護服務器免受暴力 破解的威脅!
到此這篇關(guān)于Linux系統(tǒng)修改ssh遠程端口的方法步驟的文章就介紹到這了,更多相關(guān)Linux修改ssh遠程端口內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
-bash:/usr/bin/yum:沒有那個文件或目錄的解決方案
在CentOS系統(tǒng)中,不慎刪除或卸載了yum可以通過重新安裝來恢復,首先,確認系統(tǒng)版本,例如CentOS,然后新建所需目錄以存放下載的文件,接下來,分別從鏡像源下載yum組件和python依賴的rpm包,安裝python時,如果遇到依賴問題,可選擇強制安裝2024-10-10
在Ubuntu 22.04 LTS上安裝MySQL兩種實現(xiàn)方式之在線方式和離線方式
這篇文章主要介紹了在Ubuntu 22.04 LTS上安裝MySQL兩種實現(xiàn)方式之在線方式和離線方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-09-09

