vsftpd — Connection refused
Добрый вечер уважаемые форумчане. Столкнулся с проблемой которую не могу решить.
Не могу зайти на сервер через ftp где я установил vsftpd. При базовых настройках /etc/vsftpd.conf
# netstat -ln | grep :21
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
# ftp ххх.ххх.хх.ххх (статический адрес сервера) Выдает ошибку: ftp: connect: Connection refused
Как решить проблему?
вполне может быть я создал там правила, но не уверен, что я его подключил, а если и сделал это, то не помню где сомтреть.
Надо же локализовать проблему для того, чтобы решить её. Попробуй совсем фаервол отключить.
Chain INPUT (policy ACCEPT 400 packets, 47245 bytes)
pkts bytes target prot opt in out source destination 0 0 fail2ban-ssh tcp — * * 0.0.0.0/0 0.0.0.0/0 multiport dports 22
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 139 packets, 15090 bytes) pkts bytes target prot opt in out source destination
Chain fail2ban-ssh (1 references) pkts bytes target prot opt in out source destination 0 0 RETURN all — * * 0.0.0.0/0 0.0.0.0/0
в фаерволе на сервере проблем нет
вероятно, зафильтровано где-то между клиентом и сервером — нужна схема организации сети
и да, научись уже постить на лоре технические данные с нормальным форматированием, иначе язабан
Там в ftp часто не достаточно одного 21 порта, т.к. ftp сервер может назначать отдельный порт для передачи данных, случайным образом. Это сделано для улучшения безопасности. Т.о., если ftp сервак за натом, то нужно отключать в настройках ftp серверов динамические порты, либо определить для них небольшой диапазон.
не подскажете как это лучше сделать?
Подскажие как лучше показать данные об организации сети?
Пока моуг сказать что: роутер подключен к интернету — к нему подключен сервер и локальные компьютеры. На всех компьютерах есть интернет. Без проблем подсоединяюсь к серверу с вне (с других статических ip) по ssh (порт изменен в целях безопасности). Делал проброс портов, чтобы сервер было видно из внешней сети. Стоит lamp и 1 сайт привязан к серверу. Открывается без проблем. Сейчас пытаюсь настроить ftp для доступа к файлам сайта.
У сервера статический ip.
т.е. ftp-клиент находится снаружи? нет доступа из интернета? доступ к ftp из локальной сети есть? для доступа снаружи к серверу по ftp на роутере настроен проброс 21-tcp порта?
в таком случае на ftp-сервере нужно включить пассивный режим, а на роутере дополнительно пробросить выбранный диапазон портов
Не знаю по какую сторону фтп сервер, но я пробовал коннект внутри сети и из внешнего компьютера не принадлежащего к серверной сети. Пишет connect refused.
Проброс портов не сделал. Завтра поставлю проброс. Но мне кажется дело не только в этом, внутри сети тоже нету коннекта.
Спасибо за ссылку на статью, попробую сделать по инструкции. С iptables не разобрался до конца.
У меня созданы правила в файле /etc/iptables.rules, но не помню где я делал include на него. Не понятно, читает ли сервер этот файл. Но выше я писал вывод правил по команде iptables, значения которых не понимаю.
А как потом вернуть в боевой режим iptables? Я так понимаю, Вы предлагаете отключить ограничения фаервола?
Снял все ограничения этой командой, теперь можно ждать чего угодно из сети 🙂 подскажите еще как снять эти ограничения. Перезагрузки хватит или они прописались где-то? Из вне пытаюсь получить доступ к файлам сервера командой
Пишет: Connection refused
Завтра сделаю проброс портов на внутренний ip. Но чую где то еще собака зарыта 🙂
Проброс портов не сделал. Завтра поставлю проброс. Но мне кажется дело не только в этом, внутри сети тоже нету коннекта.
пока не надо
начни с локального доступа, т.е. прямо с самого сервера:
затем проверяй доступ с компов локальной сети, а уж потом только из внешней сети
вангую использование неправильного IP-адреса, т.е. клиент просто куда-то не туда ломится 🙂
нет и не было у тебя на сервере никаких ограничений 🙂
если что-то где-то и фильтруется, то на роутере
подключаюсь к внешнему ip по ftp, т.е. При коннекте ввожу:
Hostname — статический ip сервера Пользователь — зарегистрированный пользователь на сервере (правда я переопределил домашнюю папку для каждого пользователя, это /var/www/user. Не может ли быть это причиной? Права на папки 750 с владельцами user:user. Пароль — соответственно.
Все же начну с локальных попыток. Потестирую ваши рекомендации 🙂 Вообще, весь сыр бор это сделать свой внешний хостинг-сервер для личных сайтов и сайтов знакомых. Без Фтп как без рук, пробовал в консоле редактировать файлы, какое-то извращенство 🙂 так привык к визуальной работе. Да и знакомым надо раздать доступ к своим сайтам 🙂
адрес белый/серый?
как организована внутренняя сеть? тоже роутинг белых адресов или серые адреса за NATом?
на сайт как заходишь? через этот же ip-адрес?
заверни листинги в [code][/code], пожалуйста
и, наверное, сделай
Только что обнаружил что могу подключиться к серверу с внешней сети по sftp в домашнюю деррикторию usera /var/www/user. Это что-то меняет?
Опять же ввожу, данные по коннекту:
hostname: белый ip (статический, узнавал у провайдера)
Соединение: sftp scp
Есть коннект к домашней директории. А вот по ftp нету
По одной рекомендации подключил сегодня утром /etc/iptables.rules вначале файла /etc/network/interfaces. Как результат перестал коонектиться по ssh, сайт с сервера не подгружался из вне 🙂 пришлось садиться за сервер и отключать, что наворотил 🙂
Предположу, что правила очень надежные были, что аж все позакрывал :))
Вот собственно и они
Почти все правила брал из мануалов, чувствую есть тут много лишнего. Статический адрес 234.166.34.145 вымышленный, порт 2322.
Увидел косячек с внутренним IP, на конце 101 стоит, а должно 102. Он у меня не привязан на роутере. Только сейчас увидел когда полез 🙂 Наверно теперь если поменять, то фаервол уже не заблокирует доступ по этим портам к ssh, apache и vsftpd. Завтра попробую 🙂
как организована внутренняя сеть? тоже роутинг белых адресов или серые адреса за NATом?
Не совсем понимаю Вас, я еще изучаю этот вопрос. У меня в /etc/network/interfaces следующие записи:
на сайт как заходишь? через этот же ip-адрес?
Для домена у регистратора прописал A запись с этим IP сервера (белый). А в роутере пробросил порт 80 на локальный ip сервера: 192.168.1.102
В результате сайт виден во внешней сети по белому IP сервера.
# iptables -tfilter -I INPUT 4 -p tcp -m tcp —dport 21 -j ACCEPT
Пишет: Index of insertion too big. (Индекс вставки слишком большой.)
какой-то ворох противоречивой инфы
зачем приводить этот файл, если реально он не используется? мы же видели совсем другие правила фаервола, которые были загружены на самом деле
роутер и сервер — это одна машина?
Увидел косячек с внутренним IP, на конце 101 стоит, а должно 102
гы-гы
видимо, я угадал
чей это адрес 192.168.1.101? сервера со стороны локалки? а 192.168.1.102?
короче, мой вердикт: рано тебе еще админить все это; если очень хочешь, то начинай постепенно читать документацию и вникать в суть того что делаешь, а не бездумно чего-то конфигурять вслепую и пробовать все подряд
А в роутере пробросил порт 80 на локальный ip сервера: 192.168.1.102
вот точно так же нужно пробросить еще 21 порт (сразу после этого ошибка «Connection refused» исчезнет — будет или другая ошибка или просто клиент подвиснет) и плюс тот диапазон портов, который настроишь в vsftpd для работы пассивного режима
однако, очень советую все же сначала научиться понимать что делаешь, потому что без этого твой сервер рано или поздно захакают, как бы ты не скрывал его ip и не изменял ssh-порты
зачем приводить этот файл, если реально он не используется? мы же видели совсем другие правила фаервола, которые были загружены на самом деле
Из разговора тут понял, что он у меня не подключен, поэтому и привел его, надеясь на какие-то замечания по содержанию. Все равно включить в целях безопасности сервера его надо. Только правила грамотно прописать нужно. 🙂
роутер 192.168.1.1 (к нему подключен интернет и дальше он раздает на сервер и другие компьютеры через витые пары)
Сервер 192.168.1.102 (раньше было 192.168.1.101, видимо с перезагрузкой сервера и ip сменился. Пытался закрепить мак адрес в роутере, но не нашел где. У меня Cisco E1200)
Еще подключены 2 компьютера (стационарный через витую пару и ноутбук по wi-fi) у всех есть интернет. С ноутбуком пришлось повозиться, чтоб интернет там запустить.
короче, мой вердикт: рано тебе еще админить.
Поверьте мне, я уже как 2 месяца занимаюсь перелопачиванием мануалов в сети интернета и результаты слишком ничтожны. Я трачу по 850 руб на VPS и хочу это как-то поменять. Я пришел сюда только и за-за того, что не нашел правильного решения в сети. 2 месяца назад я кроме Windows ничего не знал. Сейчас это положение вещей меняется 🙂 Буду признателен за любую помощь в моем вопросе и конечно же за Ваше время и терпение.
вот точно так же нужно пробросить еще 21 .
Обязательно завтра это попробую, о результатах отпишусь. Интересно, почему sftp и scp пропускают юзера, а ftp нет? И за-за портов?
однако, очень советую все же сначала научиться понимать что делаешь, потому что без этого твой сервер рано или поздно захакают, как бы ты не скрывал его ip и не изменял ssh-порты
Любой компьютер в сети это потенциальная мишень для хакеров 🙂 я думаю, желающих специально поломать мне сервер будет мало. А вообще, в интернете очень много статей и постов в которых описываются моменты по защите сервера. Можно в какой-то степени защититься. Конечно быстро реагировать на взломы и дос атаки неопытному тяжело, но это искушение слишком велико. Встал на этот путь только в целях экономии и больших мощностей, так бы не стал тратить время. В случае заморочек с хаками, вернусь на хостинг. Прирост скорости на сайте заметно ощутил, хотя хостинг оплачивал тоже неплохой.
Еще хотел узнать как все таки правильно написать iptables.rules для хостинг сервера, т.е. Пропускать порты для ssh, ftp, imap, apache, и других важных для хостинга процессов?
Поверьте мне, я уже как 2 месяца занимаюсь перелопачиванием мануалов в сети интернета и результаты слишком ничтожны. Я трачу по 850 руб на VPS и хочу это как-то поменять. Я пришел сюда только и за-за того, что не нашел правильного решения в сети. 2 месяца назад я кроме Windows ничего не знал. Сейчас это положение вещей меняется 🙂 Буду признателен за любую помощь в моем вопросе и конечно же за Ваше время и терпение.
Поверьте мне, я уже как 2 месяца читаю по вечерам медицинский справочник болезней и результаты слишком ничтожны. Я трачу на лечение себя и моей семьи 15 тыс. руб в год и хочу это как-то поменять. Я пришел сюда только из-за того, что не нашел в справочнике правильной тактики лечения астмы. 2 месяца назад я кроме градусника, йода и аспирина ничего не знал. Сейчас это положение вещей меняется. За потраченное на меня время и терпение скажу вам огромное спасибо, а за реальную помощь буду по гроб жизни благодарен.
Поверьте мне, я уже как 2 месяца читаю по вечерам медицинский справочник .
Из этого может получиться хороший анекдот 🙂
Источник
FTP Connection refused error – Solution to problem
If you get an error (ftp Connection refused) when using FTP client under Linux such as Connection refused, then you can fix this problem using following method.
Make sure ftp server installed
Make sure ftp server installed and service is running. Under Debian Linux you can use dpkg command to verify that ftp server installed:
$ dpkg -l | grep -i «ftp» Output:
OR run following command:
$ dpkg -l | grep -i ftp
Under Red Hat/Novell Suse/Fedora Linux try rpm command:
# rpm -qa | grep -i «*ftp*»
In any case if you have the ftp package installed it will return output. If the ftp package is not installed, it will notify you or it will not give you any output at all. Naturally next logical step is to install FTP server.
Under Red Hat/Fedora Linux install vsftpd server as follows:
# up2date vsftpd
OR if you are using Fedora Linux use yum:
# yum install vsftpd
If you are using Debian Linux use apt-get command:
# apt-get install vsftpd
Next configure vsftpd by modifying /etc/vsftpd.conf file.
Is ftp server running (is port 21 open)?
Login to ftp server using ssh and try to telnet port 21 (to see port is open or not):
$ telnet localhost 21
Next run netstat -tulpn command to see if port 21 is in open:
$ netstat -tulpn | grep :21
OR try following command:
$ netstat -a | grep ftp Output:
- No ads and tracking
- In-depth guides for developers and sysadmins at Opensourceflare✨
- Join my Patreon to support independent content creators and start reading latest guides:
- How to set up Redis sentinel cluster on Ubuntu or Debian Linux
- How To Set Up SSH Keys With YubiKey as two-factor authentication (U2F/FIDO2)
- How to set up Mariadb Galera cluster on Ubuntu or Debian Linux
- A podman tutorial for beginners – part I (run Linux containers without Docker and in daemonless mode)
- How to protect Linux against rogue USB devices using USBGuard
Join Patreon ➔
If port is not open, start ftp server /service. Under RedHat/Fedora Linux use service command:
# service vsftpd start
Under Debian Linux use following command:
# /etc/init.d/vsftpd start
FTP user permissions
Is particular user not allowed to use your vsftpd ftp server, then make sure user got permission to use your ftp server. File /etc/ftpusers – list of users disallowed use vsftpd server access. Make sure user name is not in this file.
Security or Firewall
Make sure iptables firewall/tcpd does not block access to your ftp server. Run following command on ftp server (login over ssh):
# iptables -L -n Output:
Above output does not allows port 21 (port 21 is blocked by firewall). You need to use iptables rules to open port 21. Make sure file /etc/hosts.deny (TCPD wrappers) does not block access to port 21 for your ftp host.
🐧 Get the latest tutorials on Linux, Open Source & DevOps via
Category | List of Unix and Linux commands |
---|---|
Documentation | help • mandb • man • pinfo |
Disk space analyzers | df • duf • ncdu • pydf |
File Management | cat • cp • less • mkdir • more • tree |
Firewall | Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04 |
Linux Desktop Apps | Skype • Spotify • VLC 3 |
Modern utilities | bat • exa |
Network Utilities | NetHogs • dig • host • ip • nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04 |
Package Manager | apk • apt |
Processes Management | bg • chroot • cron • disown • fg • glances • gtop • jobs • killall • kill • pidof • pstree • pwdx • time • vtop |
Searching | ag • grep • whereis • which |
Shell builtins | compgen • echo • printf |
Text processing | cut • rev |
User Information | groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |
Comments on this entry are closed.
Thanks the command service vsftpd start resolved temporarily my issue. I am now searching for where to add this so that this service starts at run level 3
If you are using Redhat/CentOS/Fedora Core use ntsysv command to turn on vsftpd. If you are using other distro let me know name of distro.
Awesome! Thanks for this command!
hi all iam working in encryptor project when iwant testing this project with ftp some problems was appeared like stalled
Thanks you , The command ” service vsftpd start ”
resolved my question . Have anywhere to study linux configure __come from china
i can connect to the ftp port buy my user is not authorized to login? how can i fix this ?
I tried everything here, my service is running, everything is working on the port 21. But when I try to log in with a user, this is the error I get:
Transfer channel can’t be opened. Reason: A socket operation was attempted to an unreachable host.
Error: Could not retrieve directory listing
Anyone know why this is happening? I have made sure that iptables isn’t blocking my port and its still not working.
FTP Connection refused error – Solution to problem
by Vivek Gite on April 13, 2006 · 11 comments
If you get an error (ftp Connection refused) when using FTP client under Linux such as Connection refused, then you can fix this problem using following method.
Make sure ftp server installed
Make sure ftp server installed and service is running. Under Debian Linux you can use dpkg command to verify that ftp server installed:
$ dpkg -l | grep -i “ftp”
Output:
ii ftpd 0.17-21 FTP serverOR run following command:
$ dpkg -l | grep -i ftp
Under Red Hat/Novell Suse/Fedora Linux try rpm command:
# rpm -qa | grep -i “*ftp*”
In any case if you have the ftp package installed it will return output. If the ftp package is not installed, it will notify you or it will not give you any output at all. Naturally next logical step is to install FTP server.
Under Red Hat/Fedora Linux install vsftpd server as follows:
OR if you are using Fedora Linux use yum:
# yum install vsftpd
If you are using Debian Linux use apt-get command:
# apt-get install vsftpd
Next configure vsftpd by modifying /etc/vsftpd.conf file.
Is ftp server running (is port 21 open)?
Login to ftp server using ssh and try to telnet port 21 (to see port is open or not):
$ telnet localhost 21
Next run netstat -tulpn command to see if port 21 is in open:
$ netstat -tulpn | grep :21
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTENOR try following command:
$ netstat -a | grep ftp
Output:
tcp 0 0 *:ftp *:* LISTENIf port is not open, start ftp server /service. Under RedHat/Fedora Linux use service command:
# service vsftpd start
Under Debian Linux use following command:
FTP user permissions
Is particular user not allowed to use your vsftpd ftp server, then make sure user got permission to use your ftp server. File /etc/ftpusers – list of users disallowed use vsftpd server access. Make sure user name is not in this file.
Security or Firewall
Make sure iptables firewall/tcpd does not block access to your ftp server. Run following command on ftp server (login over ssh):
# iptables -L -n
Output:
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all — 0.0.0.0/0 0.0.0.0/0
ACCEPT all — 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT tcp — 0.0.0.0/0 0.0.0.0/0 tcp dpts:6881:6882
ACCEPT udp — 202.54.1.254 0.0.0.0/0 udp dpt:514
ACCEPT tcp — 0.0.0.0/0 0.0.0.0/0 tcp dpts:80 state NEW,RELATED,ESTABLISHED
LOG all — 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 4
DROP all — 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all — 0.0.0.0/0 0.0.0.0/0Above output does not allows port 21 (port 21 is blocked by firewall). You need to use iptables rules to open port 21. Make sure file /etc/hosts.deny (TCPD wrappers) does not block access to port 21 for your ftp host.
nice article i almost my ftp server using your help, but i had some firewall issues which i solved from another blog, Installing proftpd Thanks Guys you all brillaint .. my ftp server is working fine.
I was not able to use ftp for long time on a linux machine. I finally tried to find the solution, got the solution here immediately.
Excellent, got the ftp working, would have been lost without knowing which service to look for and appropriate configuration file.
Thank you all, however I TURNED OFF YAHOO COOKIES AAND I can not turn them on, I am still looking sincerely Roger.
Just to note that for permissions on vsftpd for RedHat based distros the ftpusers file and others are here /etc/vsftpd/ftpusers NOT simply under /etc/ftpusers
Great article all the same because it helped me out! I was looking for /etc/ftpusers but once I found this article pointing to vsftpd it all came together.
first try to ftp that server and see if you are able to connect..
command: ftp server_name.
i have a problem when i m logging to ftp wd username & passwd then this error is come
]# ftp http://www.ahsan.com
Connected to http://www.ahsan.com.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (www.ahsan.com:root): priya
331 Please specify the password.
Password:
500 OOPS: cannot change directory:/home/priya
Login failed.
please give me the solution
Hmmm…great to find out, there were witohut a doubt a number of points that I hadn’t thought of before.
I had same problem,gave me a lil headache trying to find a solution to it, I always got “connect: Connection refused” error.
Then to resolve it, I checked my Redhat 5 server to see if ftp service is running,but alas it wasn’t just simply started it all everything became al-right.
#service vsftpd start
the cmd above was used to start my ftp service.
so a couple days ago I spent all day trying to get ftp and ssh to work on a Linux server im setting up to use at a company. I followed every step by step guide perfectly but everytime I would try to connect I would get “connection refused error”. I came in to work today and the first time I tried to connect with ftp and ssh it worked perfectly. Turned out the problem was a conflicted ip address on the network. None of the forums I looked up suggested this and its a pretty easy fix so I would advise checking this if you are having ftp or ssh problems.
Источник