Trying to Set up Web Server in CentOS on HyperV - FTP Not Working

Background

I am not a Linux or really even a command line person, but I've been tasked with setting up a Linux server for a company intranet.

I've set up a CentOS 7 installation in HyperV on Windows 10. I then got the AMP stack set up inside, and I got internet from the network passing through Win10 into CentOS. And I got the CentOS web server have it's own IP address and be accessible from the outside network.

I am now trying to get FTP working, so that when I move the VM to it's eventual real server, which isn't on my desktop, I can move files to it via FTP. I have followed numerous tutorials centered on vsftp. I have installed it, I have added FTP access to firewall-cmd. I have messed with iptables, and then found out that apparently CentOS uses firewalld, not iptables?

Settings

In /etc/vsftp/vsftp.conf:

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/xferlog
xferlog_std_format=YES
chroot_local_user=YES
allow_writeable_chroot=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
userlist_deny=NO
userlist_file=/etc/vsftpd.userlist

The contents of /etc/vsftpd.userlist:

tester

Status of vsftpd:

enter image description here

Problem

When I try to connect via FTP, I see:

enter image description here

Question

What am I doing wrong?

1
задан 24 January 2018 в 20:12
1 ответ

Учитывая тот факт, что ваш FTP-клиент показывает «Соединение отклонено», я считаю, что ваш брандмауэр настроен правильно, но vsftpd просто не прослушивает адрес, к которому вы пытаетесь подключиться ( 192.168.15.101 ). Это сообщение появляется, когда служба либо не запущена на целевом сервере, либо не прослушивает адрес, к которому вы пытаетесь подключиться. Как видно на моем тестовом сервере в обеих таких ситуациях:

[root@host ~]# telnet 192.168.122.173 21
Trying 192.168.122.173...
telnet: connect to address 192.168.122.173: Connection refused

Если бы это была проблема с брандмауэром, вместо этого ваше сообщение об ошибке было бы «Нет маршрута к хосту»:

[root@host ~]# telnet 192.168.122.173 21
Trying 192.168.122.173...
telnet: connect to address 192.168.122.173: No route to host

Несколько вещей, которые я хотел бы подтвердить:

  • Слушает ли vsftpd на этом адресе? Если вы видите следующее, значит, он должен прослушивать все доступные адреса IPv4 и IPv6 - если вы видите что-то еще, то это может быть вашей проблемой:

      [root @ ftpsrv ~] # ss -pln | grep -i ftp
    tcp LISTEN 0 32 -> ::: 21 <- ::: * users: (("vsftpd", pid = 1636, fd = 3))
     
  • Это адрес, который вы подключаетесь к тому же серверу, что и vsftpd? ip ad сообщит вам - никогда не помешает перепроверить. Вы также можете попробовать подключиться к vsftpd по telnet с сервера, на котором он работает, просто чтобы убедиться, что он работает локально.

SFTP - еще один вариант, как упоминал @Sven, хотя он не использует vsftpd, а скорее ваш сервер OpenSSH. На самом деле он включен по умолчанию во многих системах - просто проверьте свой файл / etc / ssh / sshd_config на что-нибудь вроде:

Subsystem       sftp    /usr/libexec/openssh/sftp-server

man 8 sftp-server может предоставить вам дополнительную информацию об этом.

]
1
ответ дан 3 December 2019 в 23:20

Теги

Похожие вопросы