當您管理一個Linux伺服器時,修改ssh端口會怎麼樣?其實更改SSH端口是一種提高安全性的常見做法。默認情況下,SSH服務監聽在端口22上,這是一個眾所周知的端口,因此經常成為自動化攻擊的目標。通過將SSH端口更改為非標準端口,您可以在一定程度上減少這些攻擊。

在本文中,我們將指導您如何在幾種流行的Linux發行版上更改SSH端口,包括Ubuntu/Debian、CentOS/RHEL和Arch Linux。

Ubuntu和Debian系統

Ubuntu和Debian是兩個高度相似的Linux發行版,它們的SSH配置方法幾乎相同。

首先,您需要打開SSH的配置文件。您可以使用您喜歡的文本編輯器來完成這個任務。在這裏,我們使用nano:
sudo nano /etc/ssh/sshd_config
在打開的文件中,找到包含#Port 22的行。這行被註釋掉意味着它不會被讀取。您需要取消註釋並更改為所需的端口號。例如:
Port 2222
其中2222是您選擇的新端口號。確保您選擇的端口不與系統上已經使用的端口衝突,並且是1024到65535之間的未分配端口。

保存並關閉文件,然後重啟SSH服務以應用更改:
sudo service ssh restart

CentOS和RHEL系統

在CentOS和RHEL系統中,更改SSH端口的過程與Ubuntu和Debian相似,但服務重啟的命令不同。

同樣,先使用文本編輯器打開SSH配置文件,這裏我們使用vi:
sudo vi /etc/ssh/sshd_config
找到#Port 22行,並像前面的步驟一樣更改它,取消註釋並輸入新端口號:
Port 2222
保存並退出vi編輯器,然後重啟SSH服務:
sudo systemctl restart sshd

Arch Linux系統

Arch Linux也使用sshd_config文件來配置SSH服務。修改過程與上述系統類似。

使用文本編輯器打開配置文件:
sudo nano /etc/ssh/sshd_config
修改Port行,輸入您選擇的新端口:
Port 2222
保存文件並重啟SSH服務:
sudo systemctl restart sshd

linux伺服器設置防火牆

更改端口後,您必須確保新端口可以通過伺服器的防火牆。對於iptables,您可以添加一條規則允許新端口的流量來對linux伺服器設置防火牆:
sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT

注意事項:

  • 備份配置文件:在更改任何配置文件之前,最好備份原始文件。這樣,如果出現問題,您可以快速恢復到原始狀態。
  • 選擇合適的端口:避免使用眾所周知的端口以外的端口,但也避免使用系統為特定服務保留的端口。
  • 更新防火牆規則:更改端口後,更新伺服器的防火牆規則,確保允許流量通過新端口。
  • 測試新配置:在關閉當前SSH會話之前,打開新的SSH會話以測試是否能夠通過新端口成功連接。
  • 通知用戶:如果您不是伺服器的唯一用戶,請通知所有用戶新的端口號。