无法远程连接vsftpd?

时间:2015-12-16 21:08:21

标签: ftp raspberry-pi raspbian ftp-server vsftpd

我有一个带有raspberryPi和Windows计算机的家庭网络。我想通过FTP在这两者之间共享文件。所以我在raspberryPi上下载,安装和配置了VSFTPD。现在我可以从rasPi本地连接此服务器,但不能从我的Windows PC连接。

您可以在下面找到更多信息,命令输出,配置文件等。

**** Raspberry Pi ****

vsftd.conf

$variable = time();

sudo service --status-all

listen=YES
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem
user_sub_token=$USER
local_root=/home/$USER/ftp

nmap localhost

> sudo service --status-all
[ + ]  vsftpd

ftp localhost

> nmap localhost
Starting Nmap 6.00 ( http://nmap.org ) at 2015-12-16 22:55 EET
Nmap scan report for localhost (127.0.0.1)
Host is up (0.029s latency).
Other addresses for localhost (not scanned): 127.0.0.1
Not shown: 996 closed ports
PORT     STATE SERVICE
21/tcp   open  ftp
22/tcp   open  ssh
80/tcp   open  http
5002/tcp open  rfe
Nmap done: 1 IP address (1 host up) scanned in 4.80 seconds

**** ****的Windows

ping 192.168.2.140

> ftp localhost
Connected to localhost.
220 (vsFTPd 2.3.5)
Name (localhost:pi): pi
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.

ftp 192.168.2.140

> ping 192.168.2.140
Pinging 192.168.2.140 with 32 bytes of data:
Reply from 192.168.2.140: bytes=32 time=1ms TTL=64
Reply from 192.168.2.140: bytes=32 time<1ms TTL=64
Reply from 192.168.2.140: bytes=32 time<1ms TTL=64
Reply from 192.168.2.140: bytes=32 time<1ms TTL=64
Ping statistics for 192.168.2.140:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 1ms, Average = 0ms

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以在本地连接但不能远程连接的一个可能原因是由于哪个用户VSFTPD正在访问本地用户帐户。是ROOT还是您登录的用户ID。

在审核您的设置时,我注意到您:

chroot_local_user=YES
write_enable=YES
local_root=/home/$USER/ftp

我还想补充一下:

allow_writeable_chroot=YES
seccomp_sandbox=NO

我会执行:

  

setsebool -P ftp_home_dir

如果这个建议失败了,我还在Ask Fedora论坛中提出了类似的问题。 Link to Question。在这个问题中,我发布了几篇关于设置VSFTPD的文章的链接。也许其中一个会给你提示要寻找什么。

他们的一些建议是:

allow a global user for VSFTPD full file system access 

这是一个非常危险的选择,并打破了许多安全协议VSFTPd试图帮助保护您。

change the read write privileges on /home/$users to a-w

如果添加“allow_writeable_chroot = YES”并将SELinux ftp_home_dir设置为ON,则不需要进行此更改。

希望这会有所帮助。