linux ssh如何實(shí)現(xiàn)增加訪問(wèn)端口
在 Linux 系統(tǒng)中,SSH 默認(rèn)使用 22 端口。
為了增強(qiáng)安全性或滿足特定需求,可以通過(guò)修改 SSH 配置來(lái)增加或更改 SSH 訪問(wèn)端口。
以下是具體步驟:
1. 修改 SSH 配置文件
SSH 的配置文件通常位于 /etc/ssh/sshd_config。使用文本編輯器(如 vim 或 nano)打開(kāi)該文件:
sudo vim /etc/ssh/sshd_config
2. 增加或修改端口
在配置文件中找到 Port 配置項(xiàng)。如果不存在,可以手動(dòng)添加。例如,增加一個(gè)額外的端口 2222:
Port 22 Port 2222
- 可以同時(shí)指定多個(gè)端口,SSH 會(huì)監(jiān)聽(tīng)所有指定的端口。
- 如果需要完全替換默認(rèn)端口,可以將
Port 22注釋掉或刪除,只保留新端口。
3. 保存并退出編輯器
- 在
vim中,按Esc,然后輸入:wq保存并退出。 - 在
nano中,按Ctrl + O保存,然后按Ctrl + X退出。
4. 更新防火墻規(guī)則
如果系統(tǒng)啟用了防火墻(如 ufw 或 firewalld),需要允許新端口通過(guò)防火墻。
使用ufw(Ubuntu/Debian)
sudo ufw allow 2222/tcp sudo ufw reload
使用firewalld(CentOS/RHEL)
sudo firewall-cmd --permanent --add-port=2222/tcp sudo firewall-cmd --reload
使用iptables
sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT sudo service iptables save
5. 重啟 SSH 服務(wù)
修改配置后,需要重啟 SSH 服務(wù)使更改生效:
sudo systemctl restart sshd
6. 測(cè)試新端口
使用 ssh 命令測(cè)試新端口是否生效:
ssh username@your_server_ip -p 2222
- 將
username替換為你的用戶名,your_server_ip替換為服務(wù)器 IP 地址。 - 如果連接成功,說(shuō)明新端口配置正確。
7. (可選)禁用默認(rèn)端口
如果希望完全禁用默認(rèn)的 22 端口,可以在 SSH 配置文件中注釋掉或刪除 Port 22,然后重啟 SSH 服務(wù)。
注意事項(xiàng)
- 備份配置文件:在修改前,建議備份 SSH 配置文件:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
- 確保新端口未被占用:使用以下命令檢查端口是否已被占用:
sudo netstat -tuln | grep 2222
- 防止鎖定自己:在測(cè)試新端口之前,確保當(dāng)前 SSH 會(huì)話不會(huì)斷開(kāi),或者通過(guò)其他方式(如控制臺(tái))訪問(wèn)服務(wù)器,以防配置錯(cuò)誤導(dǎo)致無(wú)法連接。
通過(guò)以上步驟,你可以成功增加或更改 SSH 訪問(wèn)端口,提升系統(tǒng)的安全性。
遇到問(wèn)題1
修改ssh端口后,啟動(dòng)失敗失敗,報(bào)錯(cuò)error: Bind to port 2222 on :: failed: Permission denied.
(base) [root@node-01 wangzy-p]# systemctl status sshd
● sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2025-01-21 00:29:06 CST; 1s ago
Docs: man:sshd(8)
man:sshd_config(5)
Main PID: 147506 (sshd)
Tasks: 1
Memory: 1.1M
CGroup: /system.slice/sshd.service
└─147506 /usr/sbin/sshd -D
Jan 21 00:29:06 node-01 systemd[1]: Starting OpenSSH server daemon...
Jan 21 00:29:06 node-01 sshd[147506]: /etc/ssh/sshd_config line 10: Deprecated option RSA...ion
Jan 21 00:29:06 node-01 sshd[147506]: Could not load host key: /etc/ssh/ssh_host_dsa_key
Jan 21 00:29:06 node-01 sshd[147506]: error: Bind to port 2222 on 0.0.0.0 failed: Permis...ed.
Jan 21 00:29:06 node-01 sshd[147506]: error: Bind to port 2222 on :: failed: Permission ...ed.
Jan 21 00:29:06 node-01 sshd[147506]: Server listening on 0.0.0.0 port 22.
解決方案:
iptables -F setenforce 0 systemctl restart sshd
這三行代碼分別用于 清空防火墻規(guī)則、關(guān)閉 SELinux 的強(qiáng)制模式 和 重啟 SSH 服務(wù)。以下是每行代碼的詳細(xì)解釋:
iptables -F
- 作用:清空
iptables的所有防火墻規(guī)則。 - 解釋:
iptables是 Linux 系統(tǒng)中用于管理網(wǎng)絡(luò)流量(如防火墻規(guī)則)的工具。-F參數(shù)表示flush,即清空指定鏈(chain)中的所有規(guī)則。如果不指定鏈,默認(rèn)清空所有鏈(如INPUT、OUTPUT、FORWARD等)。- 執(zhí)行后,所有自定義的防火墻規(guī)則將被刪除,系統(tǒng)將恢復(fù)到默認(rèn)的允許所有流量的狀態(tài)。
- 使用場(chǎng)景:
- 當(dāng)需要快速清除所有防火墻規(guī)則時(shí)。
- 在調(diào)試網(wǎng)絡(luò)問(wèn)題時(shí),排除防火墻規(guī)則的影響。
setenforce 0
- 作用:將 SELinux 的模式設(shè)置為 寬松模式(Permissive Mode)。
- 解釋:
- SELinux(Security-Enhanced Linux)是 Linux 的一個(gè)安全模塊,用于提供更嚴(yán)格的訪問(wèn)控制。
- SELinux 有三種模式:
- Enforcing:強(qiáng)制模式,所有違反策略的操作都會(huì)被阻止并記錄。
- Permissive:寬松模式,違反策略的操作不會(huì)被阻止,但會(huì)記錄日志。
- Disabled:完全禁用 SELinux。
setenforce 0將 SELinux 設(shè)置為寬松模式,允許所有操作,但仍會(huì)記錄日志。
- 使用場(chǎng)景:
- 當(dāng) SELinux 阻止某些操作時(shí),可以臨時(shí)設(shè)置為寬松模式以排查問(wèn)題。
- 在調(diào)試或測(cè)試環(huán)境中,避免 SELinux 的嚴(yán)格限制。
systemctl restart sshd
- 作用:重啟 SSH 服務(wù)。
- 解釋:
systemctl是 Linux 系統(tǒng)中用于管理系統(tǒng)服務(wù)的命令。sshd是 SSH 服務(wù)的名稱,負(fù)責(zé)處理遠(yuǎn)程登錄請(qǐng)求。restart參數(shù)表示重啟服務(wù)(先停止,再啟動(dòng))。- 執(zhí)行后,SSH 服務(wù)會(huì)重新加載配置文件并重新啟動(dòng)。
- 使用場(chǎng)景:
- 修改 SSH 配置文件(如
/etc/ssh/sshd_config)后,需要重啟服務(wù)使更改生效。 - 當(dāng) SSH 服務(wù)出現(xiàn)問(wèn)題時(shí),重啟服務(wù)以恢復(fù)功能。
- 修改 SSH 配置文件(如
注意:
iptables -F會(huì)清空所有防火墻規(guī)則,可能導(dǎo)致系統(tǒng)暴露在網(wǎng)絡(luò)中。建議在執(zhí)行前備份規(guī)則,或確保系統(tǒng)處于安全環(huán)境中。setenforce 0是臨時(shí)修改 SELinux 模式,重啟系統(tǒng)后會(huì)恢復(fù)為原模式。如果需要永久修改,可以編輯/etc/selinux/config文件。systemctl restart sshd會(huì)中斷當(dāng)前的 SSH 連接。如果正在通過(guò) SSH 操作服務(wù)器,建議使用systemctl reload sshd重新加載配置而不中斷服務(wù)。
通過(guò)這三行代碼,可以快速清空防火墻規(guī)則、關(guān)閉 SELinux 的強(qiáng)制模式并重啟 SSH 服務(wù),適用于調(diào)試或配置系統(tǒng)時(shí)的常見(jiàn)操作。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
environments was not found on the java.library.path 問(wèn)題的解決方法
The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path 問(wèn)題的解決方法,需要的朋友可以參考下2016-08-08
vmware10.0破解版安裝centos的詳細(xì)步驟
這篇文章主要為大家詳細(xì)介紹了vmware10.0破解版安裝centos的詳細(xì)步驟,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10
Ubuntu系統(tǒng)日志配置 /var/log/messages的方法
今天小編就為大家分享一篇Ubuntu系統(tǒng)日志配置 /var/log/messages的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07
Linux實(shí)現(xiàn)添加新用戶及創(chuàng)建主目錄方式
這篇文章主要介紹了Linux實(shí)現(xiàn)添加新用戶及創(chuàng)建主目錄方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04
linux 驅(qū)動(dòng)編寫(xiě)之虛擬字符設(shè)備的編寫(xiě)實(shí)例詳解
這篇文章主要介紹了linux 驅(qū)動(dòng)編寫(xiě)之虛擬字符設(shè)備的編寫(xiě)實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-01-01
戴爾Dell?R630配置raid?安裝centos系統(tǒng)
這篇文章主要介紹了戴爾R630服務(wù)器配置raid后安裝centos7.9的方法,需要的朋友可以參考下2024-03-03
linux開(kāi)通指定端口號(hào)解決telnet不通的情況
部署三臺(tái)虛擬機(jī)并啟動(dòng)jar服務(wù)后無(wú)法訪問(wèn),排查發(fā)現(xiàn)8080/9200端口不通,檢查防火墻狀態(tài),安裝iptables-services,開(kāi)放對(duì)應(yīng)端口并重啟,以解決服務(wù)不可達(dá)問(wèn)題2025-07-07
Linux命令行之使光標(biāo)快速移動(dòng)的快捷鍵
這篇文章主要介紹了Linux命令行之使光標(biāo)快速移動(dòng)的快捷鍵,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11

