FTP - частые проблемы

Материал из Энциклопедия хостинга
Перейти к: навигация, поиск


Содержание

По ftp не видно файлов .htaccess

В *nix системах все файлы начинающиеся с точки считаются скрытыми. Обычно в настройках ftp клиента есть галочка "показывать скрытые файлы". Для вашего же удобства используйте FTP клиент: Filezilla, который доступен для бесплатного скачивания на официальном сайте: http://filezilla.ru/ Так же возможно сделать чтобы ftp сервер их всегда отображал. Для proftpd надо прописать в файл (для FreeBSD) /usr/local/etc/proftpd.conf строку

ListOptions -la

В шаблонах с ISPmanager данная опция, как правило, прописана по-умолчанию

Не могу зайти пользователем root

Так как протокол ftp не предполагает шифрования то во время передачи сравнительно легко украсть пароль. Из соображений безопастности доступ пользователем root по ftp отключен. Это стандартная настройка. Если вам всё же необходимо иметь доступ к серверу через ftp протокол, то используйте протокол SFTP.

Не могу подключиться по FTP

Debian

Установлен ли FTP-сервер

Удостоверьтесь, что сервер установлен и сервис запущен, в Debian вы можете использовать команду dpkg:

# dpkg -l | grep -i "ftp"

Ответ сервера:

ii  ftp                                0.17-27                       amd64        classical file transfer client
ii  proftpd-basic                      1.3.4a-4+nmu1                 amd64        Versatile, virtual-hosting FTP daemon - binaries
ii  proftpd-mod-vroot                  0.9.2-2+b2                    amd64        ProFTPD module mod_vroot

Или запустить следующую команду:

# dpkg -l | grep -i ftp

В любом случае, если ftp пакет установлен, будет возвращен ответ сервера, если ftp не установлен, команда покажет вам это, или не будет ответа вообще, в таком случае FTP сервер необходимо установить:

# apt-get install proftpd

Запущен ли FTP-сервер (открыт ли 21 порт)?

Подключитесь к серверу, используя ssh, и попробуйте команду telnet (посмотреть открыт ли 21 порт):

# telnet localhost 21

Следующим шагом запускаем команду netstat -tulpn, смотрим запущен ли 21 порт:

# netstat -tulpn | grep :21

Ответ сервера:

tcp        0      0 0.0.0.0:21             0.0.0.0:*               LISTEN

Или попробуйте следующую команду:

# netstat -a | grep ftp

Ответ сервера:

tcp        0      0 *:ftp                   *:*                     LISTEN

Если порт не открыт, запустите ftp-сервис/сервер. Используйте следующую команду:

# /etc/init.d/proftpd start

Запрет для пользователя

Если у пользователя не получается использовать ваш ftp сервер, удостоверьтесь, что он имеет разрешение. Файл /etc/ftpusers - список пользователей, которым запрещен доступ по ftp, убедитесь, что пользователь не в этом файле.

Security или Firewall

Убедитесь, что firewall/tcpd не блокирует подключение к вашему ftp серверу. Запустите следующую команду:

# iptables -L -n

Ответ сервера:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ISPMGR     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
ISPMGR     all  --  0.0.0.0/0            0.0.0.0/0
Chain ISPMGR (2 references)
target     prot opt source               destination

Если в ответе вы увидите, что 21 порт заблокирован firewall, вам нужно использовать iptables rules для порта 21. Так же убедитесь, что файл /etc/hosts.deny не блокирует подключение к 21 порту для вашего хоста.


CentOS

Установлен ли FTP-сервер?

Удостоверьтесь, что сервер установлен и сервис запущен, в CentOS вы можете использовать команду rpm:

# rpm -qa proftpd

Ответ сервера:

proftpd-1.3.4a-1.el6.rf.x86_64

В любом случае, если ftp пакет установлен, будет возвращен ответ сервера, если ftp не установлен, команда покажет вам это, или не будет ответа вообще, в таком случае FTP сервер необходимо установить:

# yum install proftpd

Запущен ли FTP-сервер? (открыт ли 21 порт)

Подключитесь к серверу, используя ssh, и попробуйте команду telnet (посмотреть открыт ли 21 порт:

# yum install telnet
# telnet localhost 21

Следующим шагом запускаем команду netstat -tulpn, посмотреть запущен ли 21 порт:

# netstat -tulpn | grep :21

Ответ сервера:

tcp        0      0 :::21                       :::*                        LIST

Или попробуйте следующую команду:

# netstat -a | grep ftp

Ответ сервера:

tcp        0      0 *:ftp                       *:*                         LISTEN

Если порт не открыт, запустите ftp-сервис/сервер. Используйте следующую команду: Centos 6

# service proftpd start

Centos 7

#systemctl restart proftpd

Запрет для пользователя.

Если у пользователя не получается использовать ваш ftp сервер, удостоверьтесь, что он имеет разрешение. Файл /etc/ftpusers - список пользователей, которым запрещен доступ по ftp, убедитесь, что пользователь не в этом файле.

Security или Firewall

Убедитесь, что firewall/tcpd не блокирует подключение к вашему ftp серверу. Запустите следующую команду:

# iptables -L -n

Ответ сервера:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ISPMGR     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
ISPMGR     all  --  0.0.0.0/0            0.0.0.0/0

Chain ISPMGR (2 references)
target     prot opt source               destination

Если в ответе вы увидите, что 21 порт заблокирован firewall, вам нужно использовать правила iptables для порта 21. Так же убедитесь, что файл /etc/hosts.deny не блокирует подключение к 21 порту для вашего хоста.


Ubuntu

Установлен ли FTP-сервер?

Удостоверьтесь, что сервер установлен, в Ubuntu вы можете использовать команду dpkg:

# dpkg -l | grep -i "ftp"

Ответ сервера:

ii  ftp            0.17-25             classical                              file transfer client
ii  proftpd-basic  1.3.4a-1            Versatile                              , virtual-hosting FTP daemon - binaries

В любом случае, если ftp-пакет установлен, будет возвращен ответ сервера, если ftp не установлен, команда покажет вам это, или не будет ответа вообще, в таком случае FTP-сервер необходимо установить:

# apt-get install proftpd

Запущен ли FTP-сервер? (открыт ли 21 порт)

Подключитесь к серверу, используя ssh, и попробуйте команду telnet (посмотреть открыт ли 21 порт):

# telnet localhost 21

Следующим шагом запускаем команду netstat -tulpn, посмотреть запущен ли 21 порт:

# netstat -tulpn | grep :21

Ответ сервера:

tcp6       0      0 :::21                   :::*                    LISTEN      6208/proftpd: (acce

Или попробуйте следующую команду:

# netstat -a | grep ftp

Ответ сервера:

tcp6       0      0 [::]:ftp                [::]:*                  LISTEN

Если порт не открыт, запустите FTP-сервис/сервер. Используйте следующую команду:

# /etc/init.d/proftpd start

Запрет для пользователя.

Если у пользователя не получается использовать ваш FTP-сервер, удостоверьтесь, что он имеет разрешение. Файл /etc/ftpusers - список пользователей, которым запрещен доступ по FTP, убедитесь, что пользователь не в этом файле.

Security или Firewall

Убедитесь, что firewall/tcpd не блокирует подключение к вашему ftp-серверу. Запустите следующую команду:

# iptables -L -n

Ответ сервера:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ISPMGR     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
ISPMGR     all  --  0.0.0.0/0            0.0.0.0/0

Chain ISPMGR (2 references)
target     prot opt source               destination

Если в ответе вы увидите, что 21 порт заблокирован firewall, вам нужно использовать правила iptables для порта 21. Так же убедитесь, что файл /etc/hosts.deny не блокирует подключение к 21 порту для вашего хоста.

Личные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты

Заметили ошибку?

Выделите ее и нажмите CTRL+ENTER