我有一些关于带有防火墙和 NAT 的 FTP 的基本问题,我希望有人可以帮助我 :)
我把它们分成不同的场景:
没有 NAT 的主动 FTP
设置:
服务器 1.2.3.4,默认端口;客户端 1.2.3.5,端口:3141(cmd)、3142(数据)
客户端:3141 连接到服务器:20
服务器:20 响应客户端:3141
服务器:21 连接到客户端:3142
这在实践中通常如何解决?我可以想到以下可能性:
我假设在所有这些解决方案中,客户端将始终使用两个连续的端口 - 这是真的吗?
使用 NAT 的主动 FTP
设置:
服务器 1.2.3.4 默认端口;客户端 192.168.0.2,端口 3141、3142;路由器,1.2.3.5 和 192.168.0.1
Client:3141 通过 192.168.0.1 连接到 1.2.3.4:20
Server:20 对 1.2.3.5:ARBITRARY 的响应 - 由于存在 SNAT 被传送到 192.168.0.2:3141
Server:21 连接到 1.2.3.5:(ARBITRARY+1) - 路由器从哪里知道这个数据包属于谁?
带有 NAT 的被动 FTP
服务器在路由器后面 - 路由器从哪里知道在任意端口上接收的数据包是给 FTP …
我安装了 vsftp,然后设置配置文件如下:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
xferlog_file=/var/log/vsftpd.log
anon_root=/var/ftp
local_root=~
Run Code Online (Sandbox Code Playgroud)
在 /etc/vsftpd.chroot_list 中,我添加了允许登录的用户。
然后重启服务:
service vsftpd restart
然后当我尝试登录时,出现此错误:
ftp> open 127.0.0.1
连接到 127.0.0.1。
500 OOPS:孩子死了
我用谷歌搜索,但未能找到答案。
请帮忙,谢谢!
我正在尝试使 vsftpd 与来自 centos 的 centos 7 ami 一起使用。安装 vsftpd 后,我编辑了配置文件并进行了以下更改:
anonymous_enable=NO
local_enable=YES
write_enable=YES
# for ftp passive mode
connect_from_port_20=NO
pasv_enable=YES
pasv_min_port=1024
pasv_max_port=1048
# (ec2 instances public ip)
pasv_address=52.xx.xx.xx
Run Code Online (Sandbox Code Playgroud)
然后我启动了 vsftpd
$ systemctl start vsftpd.service
Run Code Online (Sandbox Code Playgroud)
还在AWS网站上的安全组下打开了tcp端口范围20-21和端口范围1024-1048,并将SELinux设置为permissive
当我尝试与 filezilla 连接时,我收到此错误消息
Status: Connection established, waiting for welcome message...
Status: Insecure server, it does not support FTP over TLS.
Status: Connected
Status: Retrieving directory listing...
Command: PWD
Response: 257 "/home/centos"
Command: TYPE I
Response: 200 Switching to Binary mode.
Command: PASV
Response: 227 …Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的服务器上配置基于 SSL 的 FTP。我在 IIS 中添加了一个 FTP 站点,然后按照向导设置绑定和证书。但是,当我尝试使用 FileZilla 连接到服务器时,连接被服务器拒绝。我还注意到没有出现欢迎消息。我还注意到服务器发送的回复带有不可路由的地址。我真的不知道如何从这里继续,因为设置对我来说似乎没问题。
日志:
Status: Resolving address of jensgm.com
Status: Connecting to 213.153.1.168:990...
Status: Connection established, initializing TLS...
Status: Verifying certificate...
Status: TLS connection established, waiting for welcome message...
Status: Connected
Status: Retrieving directory listing...
Status: Server sent passive reply with unroutable address. Using server address instead.
Command: LIST
Response: 150 Opening BINARY mode data connection.
Error: The data connection could not be established: ECONNREFUSED - Connection refused by server
Error: Connection timed …Run Code Online (Sandbox Code Playgroud) 我想知道公司如何通过 FTP 和 HTTP/HTTPS 提供对相同文件的访问。建立这样的基础设施涉及哪些不同的服务器?
我特别感兴趣的是,当文件被镜像到 HTTP 服务器时,FTP 服务器上文件的元数据是否会发生变化。例如,假设我有两个文件,它们的内容相同。鉴于可以设置和 FTP 到 HTTP 基础设施的潜在各种方式,FTP 服务器和 HTTP 服务器之间相同的两个文件的元数据有什么区别(如果有)?
我一直在努力让它发挥作用,但无济于事。
我有一个在 Arch 上运行的 VSFTPD 服务器。它工作正常,除了用户可以向上导航目录树并查看/下载其他用户主目录中的文件。我认为答案在于 chroot() 但我尝试过的配置的每次迭代都不起作用(是的,我每次都重新启动服务器)。我不确定问题是否出在 VSFTPD conf 或我用来创建新用户的 shell 脚本中。我真的很感激这方面的任何帮助。
所以,这是我的conf:
listen=YES
anonymous_enable=NO
dirmessage_enable=YES
chmod_enable=NO
log_ftp_protocol=YES
pasv_enable=YES
pasv_min_port=xxxxx
pasv_max_port=xxxxx
pasv_address=xxx.xxx.xxx.xxx
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=NO
idle_session_timeout=600
data_connection_timeout=120
ftpd_banner=xxxxx xxxxx
pam_service_name=ftp
local_umask=022
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.userlist
passwd_chroot_enable=YES
local_enable=YES
write_enable=YES
force_dot_files=NO
tcp_wrappers=NO
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd.userlist
Run Code Online (Sandbox Code Playgroud)
这是我运行以创建新用户的 shell 脚本:
#!/bin/sh
mkdir /home/./$1
chmod 775 /home/./$1
useradd -d /home/./$1 -s /bin/false $1
chown -R $1 /home/./$1
passwd $1
echo $1 >> /etc/vsftpd.userlist
echo "FTP user created."
Run Code Online (Sandbox Code Playgroud) 一家公司向我提供了我应该连接到的 FTP IP。我也得到了用户名和密码。那应该可以与端口 21 一起使用,对吗?
我尝试使用 FTP 命令行,但没有用;我尝试了使用 sftp 命令行的机会,并且使用他们的凭据,我获得了授权并且可以毫无问题地进行连接。
SFTP 应该使用端口 22(我使用了wireshark 来检查)。
我是对的,这只是运气吗?我觉得有点困惑。
我正在使用 LINUX CentOs 6.4。
我已经proftpd安装了一段时间,但从今天起我无法登录到 ftp 服务器。我不断收到错误530 login incorrect。
我proftpd在调试模式下重新启动并在尝试登录时得到以下响应:
- srv2.********.nl proftpd[1660] 159.253.3.237 (83.247.33.135[83.247.33.135]): FTP session opened.
- srv2.********.nl proftpd[1660] 159.253.3.237 (83.247.33.135[83.247.33.135]): dispatching PRE_CMD command 'USER bernhard' to mod_tls
- srv2.********.nl proftpd[1660] 159.253.3.237 (83.247.33.135[83.247.33.135]): dispatching PRE_CMD command 'USER bernhard' to mod_core
- srv2.********.nl proftpd[1660] 159.253.3.237 (83.247.33.135[83.247.33.135]): dispatching PRE_CMD command 'USER bernhard' to mod_core
- srv2.********.nl proftpd[1660] 159.253.3.237 (83.247.33.135[83.247.33.135]): dispatching PRE_CMD command 'USER bernhard' to mod_delay
- srv2.********.nl proftpd[1660] 159.253.3.237 (83.247.33.135[83.247.33.135]): dispatching PRE_CMD command 'USER bernhard' to mod_auth …Run Code Online (Sandbox Code Playgroud) 我的生产 VPS 上有带有 Debian 操作系统的 nginx php 服务器,问题是 nginx 占用了我所有的带宽。
当我尝试使用 ftp 上传内容时,大多数情况下连接会超时。
今天我杀死了 nginx 进程并尝试使用 ftp 上传一些东西,它以稳定的速度和更快的连接工作。
所以问题是系统没有为 ftp 服务器分配足够的带宽来工作,除非我终止 nginx
知道如何修复/诊断问题吗?
我一直在寻找最好/最便宜的 FTP 存储来存储我的服务器备份,我遇到了几个非常便宜的无限托管计划,包括 ftp 和 ssh 访问。
我说的是共享网站托管计划,每月不到 10 美元,磁盘空间和网络容量不受限制。由于这些计划包括 ftp,我可以在技术上将其用作备份位置。我只会将它用作 B 计划(我的主要备份计划是使用更可靠的位置),但它会相当快地累积到至少 1TB 的数据。
以每月 10 美元以下的价格拥有无限存储空间,这看起来好得令人难以置信。那么问题是什么?我在网站上没有看到任何内容告诉我这个用例是不允许的,但我还没有通读所有法律文件......当然我可以在那个主机上建立一个小网站,这样它真的很习惯托管一个网站(还有很多备份)。
当人们使用FTP / SFTP在Linux上,是服务器用来创建目录和文件的方法mkdir和open别的完全不同的东西?
我有某些子目录,我不希望某些开发人员在通过 FTP 登录时访问它们。他们需要查看大多数文件/目录,但有些是不受限制的。有什么方法可以阻止某些用户在通过 FTP 登录时查看这些子目录,但不阻止 PHP 和 Apache 包含所需文件?
这是一个运行 cPanel 和 WHM 的 Linux 服务器。