当您管理一个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会话以测试是否能够通过新端口成功连接。
  • 通知用户:如果您不是服务器的唯一用户,请通知所有用户新的端口号。