FileZilla作为Linux环境下常用的FTP/SFTP客户端,其端口转发功能主要用于解决NAT穿透(如本地计算机位于路由器后)或安全传输(通过SSH隧道加密)需求。以下是具体设置步骤及注意事项:
若本地Linux系统未安装FileZilla,可通过包管理器安装:
sudo apt install filezillasudo yum install filezilla192.168.1.100或ftp.example.com);21,SFTP端口为22(根据服务器协议选择);FTP - 文件传输协议(需FTP服务)或SFTP - SSH文件传输协议(需SSH服务);要求使用明文FTP over TLS(增强安全性);正常,输入远程服务器的用户名和密码。若本地计算机位于路由器或防火墙后,需开启被动模式(PASV)并配置端口范围:
50000-51000,需避免与系统其他服务冲突);若本地计算机位于路由器后,需在路由器中配置端口转发,将外部请求转发至本地计算机:
192.168.1.1或192.168.0.1,输入管理员账号密码);50000-51000);ip a或ifconfig命令查看,如192.168.1.101);21端口、SFTP的22端口);TCP(FTP/SFTP均使用TCP);若需通过SSH加密传输(如FTP明文不安全),可使用SSH隧道将本地端口转发至远程服务器:
username为远程服务器用户名,remote_server_ip为远程服务器IP,local_port为本地端口,remote_port为远程服务端口):ssh -L local_port:localhost:remote_port username@remote_server_ip
示例(将本地2121端口转发至远程21端口,用于FTP):ssh -L 2121:localhost:21 user@example.com
localhost,端口改为local_port(如2121),选择FTP协议,点击连接即可。完成上述配置后,返回FileZilla的站点管理器,选中站点并点击连接。若连接成功,左侧将显示远程服务器的文件列表,右侧为本地文件列表,即可进行文件传输。
ufw allow 21/tcp、iptables -A INPUT -p tcp --dport 21 -j ACCEPT);