我正在使用 Debian 8 - 运行了一系列自动系统更新,现在我无法连接到运行 proFTPD 的本地服务器。
我没有对尝试连接到服务器的客户端进行任何更改。
我通过端口 21 连接到服务器时没有任何问题。自从我更新后,当我尝试以通常的方式连接时,我收到以下错误:
ECONNREFUSED - Connection refused by server
根据我的研究,错误表明我的连接被防火墙或类似的东西拒绝。但是,我没有运行任何防火墙,iptables 设置为允许“全部” - 这是本地服务器。
我已经检查了 proFTPD 错误日志,没有记录任何错误。
我已经运行了 proFTPD 配置检查和状态检查,均返回肯定结果(正在运行)
当我尝试奔跑
telnet localhost 21
结果是
connection refused
当我跑步的时候
telnet localhost 22
我获得了连接。
当我尝试通过 sftp 进入我的服务器时,出现身份验证失败(可能是因为我尚未设置密钥)
我已经检查了 proFTPD 配置文件,它正在监听端口 21。
我花了一天时间解决这个问题,看起来好像很容易修复,但是我没有运气。
问题:
我怎样才能重新使用端口 21 并使用普通 ftp 进行连接?
谢谢
更新
进一步测试
ps -ef | grep proftpd
结果显示 proftpd 接受连接
然而
lsof -i : 21
显示没有监听任何内容...因此看起来 proftpd 实际上由于某种原因没有监听
检查端口 22 时,它仅显示 ssh
我读到如果其他程序正在运行,proftpd 可能会被阻止监听端口 21。
fuser -n tcp 21
显示没有其他进程连接到该端口。
service proftpd status
返回“活动(正在运行)”
还有其他想法吗?
答案1
解决了:
我肯定安装了某些启用了安全 FTP 的程序,而这以某种方式禁用了端口 21 上的未加密连接
在 proFTPD.conf 文件的最后,有一个指令用于启用 conf.d 文件夹中的模块
在conf.d文件夹中,有sftpd.conf,要求在端口2222上运行安全ftp
在进行任何更改之前我运行
lsof -i :2222
结果是 proFTPD 正在监听端口 2222 上的连接。当我检查端口 21 时,没有任何东西在监听连接。
我注释掉了 proFTPD.conf 中的包含行
include /etc/proftpd/conf.d/
然后我重新启动 proFTPD,现在我又可以正常连接了。我不知道为什么启用安全 ftp 会禁用普通 ftp。
希望这对其他人有所帮助...在这个问题上浪费的时间是不真实的。