阅读量:27
1. 检查网络连通性
确保客户端与Linux服务器之间的网络连接正常,可通过ping <服务器IP>命令测试。若无法ping通,需排查网络线路、路由器配置或服务器IP是否正确。
2. 确认SSH服务运行状态
SFTP依赖SSH服务,需确保服务器上的SSH服务已安装并启动:
- 检查服务状态:运行
sudo systemctl status ssh(部分系统服务名为ssh,部分为sshd),若显示inactive (dead),则启动服务:sudo systemctl start ssh;若未安装,通过sudo apt update && sudo apt install openssh-server(Ubuntu/Debian)或sudo yum install openssh-server(CentOS/RHEL)安装。
3. 配置防火墙允许SFTP端口
SFTP默认使用22端口,需确保防火墙放行该端口:
- UFW(Ubuntu默认防火墙):运行
sudo ufw allow 22/tcp,然后启用防火墙sudo ufw enable; - Firewalld(CentOS默认防火墙):运行
sudo firewall-cmd --permanent --add-port=22/tcp,然后sudo firewall-cmd --reload; - Iptables:运行
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT,保存规则(如sudo service iptables save)。
4. 核对FileZilla SFTP配置
在FileZilla的站点管理器中,确保以下设置正确:
- 协议:选择
SFTP - SSH File Transfer Protocol(而非FTP或FTPS); - 主机:输入服务器IP地址或域名;
- 端口:填写
22(默认SFTP端口,若服务器修改过端口需对应调整); - 用户名/密码:输入服务器登录账户信息(若使用密钥认证,需在“编辑”→“设置”→“SFTP”中添加私钥文件)。
5. 检查SSH配置文件权限
若服务器SSH配置禁止密码认证或密钥认证,需修改/etc/ssh/sshd_config文件:
- 用文本编辑器打开文件(如
sudo nano /etc/ssh/sshd_config); - 确保以下配置项未被注释且设置为
yes:PasswordAuthentication yes # 允许密码认证(若用密码登录) PubkeyAuthentication yes # 允许密钥认证(若用密钥登录) - 保存文件后重启SSH服务:
sudo systemctl restart ssh。
6. 切换FileZilla传输模式
若连接时出现“被动模式失败”错误,可尝试切换传输模式:
- 打开FileZilla“编辑”→“设置”→“传输”→“传输模式”,选择被动模式(Passive Mode),适用于多数客户端位于防火墙后的场景。
7. 查看日志定位具体错误
若以上步骤均无效,可通过FileZilla的日志窗口(界面底部)查看详细错误信息,或查看服务器端SSH日志(/var/log/auth.log Ubuntu/Debian,/var/log/secure CentOS/RHEL),根据日志中的具体错误(如“Permission denied”“No route to host”)进一步排查。
8. 更新FileZilla至最新版本
旧版本FileZilla可能存在兼容性问题,建议从官方网站下载最新版本安装,避免因软件版本导致的连接故障。