为什么我无法使用本地用户帐户访问 ftp 服务器?

为什么我无法使用本地用户帐户访问 ftp 服务器?

首先,我使用Centos 6服务器、putty 和 wordpress.org,我按照以下说明进行操作这个链接在服务器中设置vsftpd和 ftp 。centos

对于该vsftpd.conf文件,我做了以下更改:

anonymous_enable=NO
local_enable=YES
chroot_local_user=YES

所有这些都没有注释。然后我重新启动了该vsftpd服务。

对于iptablesI 启用端口 21 的输入和输出。

输入用户帐户名和密码后ftp://域名.com,服务器似乎无法识别我的用户名和密码。它们与我用来登录CentOS服务器的凭据相同。

然后我在谷歌上找到了一些关于getsebool.它提到 ftp_home_directory 已关闭,我需要使用以下命令将其打开setsebool -P

好的,现在我可以在 putty 中使用 ftp 进行连接,但不能在 Web 浏览器或filezilla.

答案1

您可能还需要允许 tcp 端口 20。您还需要确保您使用的是主动模式。如果 ftp 连接尝试转移到被动模式,它将转移到高端口,并且您没有打开它们。

在 filezilla 中,您可以通过以下方式修改传输模式:现场经理->创建/编辑站点->传输设置->传输模式您可以强制它使用主动模式。

答案2

  1. 检查您的防火墙日志。一旦建立连接,FTP 实际上会使用 21 以外的端口。 21只是控制端口。
  2. 尝试禁用 selinux 查看问题是否消失。如果确实如此,您可以阅读有关配置 selinux 的更多内容......
  3. 由于匿名被禁用,浏览器需要身份验证信息。这意味着 URL 需要嵌入其中的用户名和密码。遗憾的是 SE 不允许我直接发布示例。基本上它是名称加 @ 加 pass 后跟冒号和 URL 的其余部分,就像平常一样。

答案3

可能有很多问题导致您无法连接浏览器或 filezilla,但您需要消除问题才能解决问题。

我知道在 filezilla 上,如果您在 AWS 上有 vsftp,则必须设置 FTP 传输模式。另外,使用浏览器时,请确保您输入的ftp://username@domain-addr内容会提示您出现密码面板。

也许是你的防火墙和它绕过了 putty ftp 连接。尝试查看您的 vsftpd 日志,看看还能找到什么。

答案4

你可以尝试这个命令

sudo adduser -d /var/www/html -m myuser
sudo passwd myser

相关内容