Linux系統(tǒng)修改ssh遠(yuǎn)程端口的方法步驟
1. 修改 SSH 遠(yuǎn)程端口的步驟
1.1 登錄服務(wù)器
使用當(dāng)前的 SSH 端口登錄服務(wù)器(默認(rèn)端口為 22):
ssh root@<服務(wù)器IP地址> -p 22
如果是非 root 用戶(hù),請(qǐng)使用具有 sudo 權(quán)限的賬戶(hù)登錄。
1.2 修改 SSH 配置文件
使用文本編輯器打開(kāi) sshd_config 文件:
sudo nano /etc/ssh/sshd_config
或者:
sudo vi /etc/ssh/sshd_config
找到以下行(如果沒(méi)有,則手動(dòng)添加):
#Port 22
- 去掉
#注釋符號(hào)。 - 將端口號(hào)
22修改為你想要的端口號(hào)(例如2022或2222),如下:
Port 2022
確保以下設(shè)置已啟用并檢查是否存在(防止配置沖突):
AddressFamily inet PermitRootLogin yes # 如果允許 root 登錄,確保此項(xiàng)為 yes
1.3 修改防火墻規(guī)則
更改端口后,需要確保防火墻允許新端口的通信,否則可能導(dǎo)致無(wú)法連接。
1.3.1 使用 firewalld(CentOS/RedHat 系統(tǒng))
添加新端口規(guī)則(以 2022 為例):
sudo firewall-cmd --permanent --add-port=2022/tcp
移除默認(rèn)端口(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
移除默認(rèn)端口規(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
刪除默認(rèn)端口(如果不再需要):
sudo ufw delete allow 22/tcp
檢查并啟用防火墻:
sudo ufw enable
1.4 重啟 SSH 服務(wù)
修改完成后,重啟 SSH 服務(wù)以應(yīng)用更改:
sudo systemctl restart sshd
或:
sudo service sshd restart
如果使用 Ubuntu/Debian,服務(wù)名可能是 ssh:
sudo systemctl restart ssh
1.5 測(cè)試新的端口
打開(kāi)新的 SSH 會(huì)話(huà),測(cè)試是否能通過(guò)新端口連接:
ssh root@<服務(wù)器IP地址> -p 2022
注意:在測(cè)試新端口成功前,不要關(guān)閉當(dāng)前的 SSH 會(huì)話(huà),以免配置錯(cuò)誤導(dǎo)致無(wú)法連接。
如果測(cè)試成功,可以關(guān)閉舊的端口會(huì)話(huà)。
2. 常見(jiàn)問(wèn)題和解決方法
2.1 修改后無(wú)法連接
檢查防火墻是否開(kāi)放了新端口:
使用以下命令檢查防火墻規(guī)則:
sudo firewall-cmd --list-ports # 適用于 firewalld sudo ufw status # 適用于 ufw
檢查 SSH 服務(wù)狀態(tài):
確保 SSH 服務(wù)已啟動(dòng)且無(wú)錯(cuò)誤:
sudo systemctl status sshd
檢查端口占用情況:
確保新端口未被其他服務(wù)占用:
sudo netstat -tuln | grep 2022
2.2 忘記新端口號(hào)
- 如果忘記了新端口號(hào),可以通過(guò)以下方法查看:
- 登錄服務(wù)器的控制臺(tái)(通過(guò)云服務(wù)商提供的 Web 控制臺(tái))。
- 查看 SSH 配置文件:
cat /etc/ssh/sshd_config | grep Port
3. 安全性?xún)?yōu)化建議
除了修改默認(rèn) SSH 端口,還可以采取以下措施增強(qiáng) SSH 安全性:
3.1 禁用密碼登錄,啟用密鑰登錄
生成 SSH 密鑰對(duì)(如果尚未生成):
ssh-keygen -t rsa -b 4096
將公鑰上傳到服務(wù)器:
ssh-copy-id -i ~/.ssh/id_rsa.pub root@<服務(wù)器IP>
修改 SSH 配置文件,禁用密碼登錄:
sudo nano /etc/ssh/sshd_config
找到并修改以下項(xiàng):
PasswordAuthentication no
重啟 SSH 服務(wù):
sudo systemctl restart sshd
3.2 限制登錄 IP
修改防火墻規(guī)則,只允許特定 IP 地址訪問(wèn) 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,自動(dòng)封禁多次嘗試登錄失敗的 IP:
sudo yum install epel-release -y sudo yum install fail2ban -y
啟動(dòng)并配置:
sudo systemctl start fail2ban sudo systemctl enable fail2ban
4. 總結(jié)
修改 SSH 端口是提升服務(wù)器安全性的有效措施,但需要注意以下幾點(diǎn):
- 修改端口后,確保防火墻規(guī)則已更新,并測(cè)試新端口連接。
- 配合其他安全措施(如密鑰登錄、IP 限制、Fail2ban)進(jìn)一步提升安全性。
- 在修改前備份 SSH 配置文件,避免因配置錯(cuò)誤導(dǎo)致服務(wù)器無(wú)法訪問(wèn):
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
通過(guò)以上步驟,你可以安全地修改 SSH 端口并保護(hù)服務(wù)器免受暴力 破解的威脅!
到此這篇關(guān)于Linux系統(tǒng)修改ssh遠(yuǎn)程端口的方法步驟的文章就介紹到這了,更多相關(guān)Linux修改ssh遠(yuǎn)程端口內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Linux用戶(hù)管理與常見(jiàn)權(quán)限命令
在Linux系統(tǒng)中,用戶(hù)和組是管理權(quán)限和資源訪問(wèn)的基本單元,用戶(hù)可以屬于一個(gè)或多個(gè)組,組用于集中管理一組用戶(hù)的權(quán)限,文件權(quán)限決定了用戶(hù)或組對(duì)文件的訪問(wèn)級(jí)別,每個(gè)文件或目錄都有三個(gè)權(quán)限集,分別適用于文件所有者(User)、所屬組(Group)和其他用戶(hù)(Others)2024-08-08
php擴(kuò)展memcached和memcache的安裝配置方法
這篇文章主要介紹了php擴(kuò)展memcached和memcache的安裝配置方法,需要的朋友可以參考下2014-11-11
win7下VMware虛擬機(jī)安裝linux7.2上網(wǎng)配置教程
這篇文章主要為大家詳細(xì)介紹了win7下VMware虛擬機(jī)安裝linux7.2上網(wǎng)配置教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09
centos8使用Docker部署Django項(xiàng)目的詳細(xì)教程
這篇文章主要介紹了在centos8使用Docker部署Django項(xiàng)目的教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05

