如何在不同的Linux发行版上更改SFTP端口,包括Ubuntu和CentOS?

2023-07-27 18:47:12 浏览数 (2)

SFTP是一种安全的文件传输协议,它基于SSH(Secure Shell)协议,提供了对远程服务器进行安全文件传输的能力。默认情况下,SFTP使用端口号22来进行通信,但由于安全考虑,我们可能需要更改默认端口。本文将指导你如何在不同的Linux发行版上更改SFTP端口,包括Ubuntu和CentOS。

步骤1:备份重要文件

在进行任何系统配置更改之前,务必进行备份。这样,如果发生意外情况,你可以轻松恢复系统至之前的状态。建议备份以下文件:

  • SSH配置文件:/etc/ssh/sshd_config

步骤2:以root权限登录服务器

在进行配置更改时,需要root或具有sudo权限的用户身份。确保你具有足够的权限来修改系统设置。

步骤3:编辑SSH配置文件

Ubuntu系统

使用以下命令来编辑SSH配置文件:

代码语言:shell复制
sudo nano /etc/ssh/sshd_config
CentOS和其他Linux系统

使用以下命令来编辑SSH配置文件:

代码语言:shell复制
sudo vi /etc/ssh/sshd_config

步骤4:更改SFTP端口

在SSH配置文件中,你可以找到类似以下内容的行:

代码语言:shell复制
#Port 22

Port行取消注释并更改端口号。选择一个未被其他服务使用的非特权端口,确保端口号介于1024和65535之间。例如,我们将SFTP端口更改为2222:

代码语言:shell复制
Port 2222

步骤5:保存和退出编辑器

在Nano编辑器中,按Ctrl X,然后按Y保存更改。在Vi编辑器中,按Esc键,输入:wq并按回车键以保存并退出。

步骤6:重启SSH服务

在更改SFTP端口后,重启SSH服务以使更改生效。使用以下命令来重启SSH服务:

代码语言:shell复制
sudo systemctl restart sshd

步骤7:确认端口更改

确保SSH服务正在监听新的SFTP端口。运行以下命令:

代码语言:shell复制
sudo netstat -tuln | grep 2222

如果输出显示SSH服务正在监听你所选择的新端口(例如2222),则表示端口更改成功。

步骤8:防火墙设置

如果你的系统有防火墙(如iptables或firewalld)启用,你需要允许新的SFTP端口通过防火墙。这样,远程用户才能连接到SFTP服务器。

Ubuntu系统
代码语言:shell复制
sudo ufw allow 2222
CentOS和其他Linux系统(使用firewalld)
代码语言:shell复制
sudo firewall-cmd --zone=public --add-port=2222/tcp --permanent
sudo firewall-cmd --reload

结论

恭喜你!你已经成功地在Ubuntu、CentOS和其他Linux系统上更改了SFTP端口。这样做有助于增强系统的安全性,因为默认端口是黑客攻击的常见目标。现在,远程用户将需要使用新的SFTP端口来连接到你的服务器。

虽然我们在本文中介绍了如何更改SFTP端口,但是在进行任何系统配置更改时,请务必小心谨慎,并确保你了解自己在做什么。不正确的配置更改可能导致系统不稳定或无法访问。在进行更改之前,请确保已经做好充分的备份,以便在需要时进行恢复。

0 人点赞