Вопрос или проблема
Сначала информация о моей системе/сервере:
- Plesk Obsidian v18.0.64_build1800241008.13 os_Ubuntu 24.04
- Ubuntu 24.04.1 LTS
- Хостинг от IONOS
- Настройка — одна подписка с одним основным доменом. Есть несколько поддоменов с разными страницами.
В чем проблема?
Проблема заключается в том, что SFTP пользователь не работает с внешними инструментами, такими как PHPStorm или FileZilla. SSH работает (я использую Putty и терминал Plesk). Когда я сначала вхожу в SSH, а затем подключаюсь к SFTP через консоль “sftp user@host”, это вдруг начинает работать. Но как только я пытаюсь подключиться к SFTP через FileZilla или PHPStorm, я получаю ошибки. Просто чтобы упомянуть, FTP тоже не работает (та же ситуация, что и с SFTP).
ОБНОВЛЕНИЕ: Когда я подключаюсь с другого IP-адреса, это внезапно начинает работать для меня из FileZilla (PHPStorm все еще не работает), но мой коллега по-прежнему не может получить доступ.
ОБНОВЛЕНИЕ 2: КОНКРЕТНАЯ проблема в том, что SFTP и FTP не работают на сервере Plesk при подключении с помощью инструментов, таких как PHPStorm или FileZilla. Я не получаю никаких ошибок или предупреждений, кроме перечисленных ниже. Я перепроверил, протестировал и попробовал различные решения, но застрял и пришел на форум. Если вы думаете, что мне следует спросить где-то еще, пожалуйста, сообщите об этом. Или если у вас есть другие идеи по конфигурациям, настройкам или вещам, которые я мог бы попробовать, пожалуйста, скажите об этом. Я предоставил все, что знаю и имею о проблеме.
ОБНОВЛЕНИЕ 3: Теперь это работает для основного пользователя (не знаю почему, так как никто не делал ничего другого, кроме описанного в этом посте), но не для других SFTP пользователей (для этих пользователей единственная настройка, на которую я могу повлиять при создании через задний интерфейс Plesk, это их доступ, имя и пароль. Так что я не могу установить их SSH доступ таким образом).
Какие ошибки я получаю при подключении?
- EOT при чтении пакета
- Время сеанса истекло
- Сессия закрыта
- Поток закрыт
Какие идеи у меня есть по поводу причины?
- Я подумал, что это может быть проблема с разрешениями или проблемой конфигурации
- Может быть, это связано с разрешенными IP-адресами
- Может быть, внешний доступ заблокирован или ограничен по какой-то причине?
Что я пробовал?
- Я проверил порты. Но как 21, так и 22 включены.
- Я проверил брандмауэр. Брандмауэр включен. Но оба порта (22 и 21) разрешены. Также разрешен внешний трафик
- Я проверил конфигурацию SSH, но SFTP был включен.
- Я попытался использовать инструмент проверки и ремонта Plesk. Но все было в порядке.
- Я проверил журналы, но они только говорят “Сессия закрыта”. Никаких ошибок или предупреждений.
- Я попытался создать нового SFTP пользователя, но проблема осталась.
- Установил доступ SSH с “Запрещено” на “/bin/sh”
- Перепроверил учетные данные
- Обновление: Теперь это внезапно работает на моей FileZilla. Но это не связано с IP, так как мой коллега с того же IP по-прежнему сталкивается с проблемой в Filezilla
- Обновление: Попробовал очистить кэш
Чего я ожидал?
Ну, я ожидал, что SFTP будет работать из FileZilla и PHPStorm.
Я буду рад любым идеям. Или, может быть, кто-то из вас уже сталкивался с этой проблемой?
Ответ или решение
Проблема с подключением SFTP на сервере Plesk
Ваша ситуация с подключением SFTP и FTP на сервере Plesk Obsidian, размещаемом на Ubuntu 24.04, требует комплексного подхода к диагностике. Давайте разберем возможные причины и решения данной проблемы.
1. Основные факторы, влияющие на подключение SFTP и FTP
-
ssh_config: Необходимо убедиться, что в конфигурации SSH включен SFTP. Откройте файл конфигурации SSH, используя команду
sudo nano /etc/ssh/sshd_config
, и проверьте наличие строки:Subsystem sftp /usr/lib/openssh/sftp-server
Если эта строка отсутствует, добавьте её и перезапустите SSH с помощью команды
sudo systemctl restart sshd
. -
Права доступа: Убедитесь, что права доступа на каталог, к которому вы пытаетесь получить доступ, корректны. Под пользователем SFTP у вас могут быть ограничения на доступ к определённым директориям. Используйте команду
ls -l
для проверки прав. -
Настройки брандмауэра: Поскольку вы упомянули, что порты 21 и 22 открыты, убедитесь, что брандмауэр позволяет входящие подключения к SFTP:
sudo ufw allow 22/tcp sudo ufw allow 21/tcp sudo ufw status
2. Проблемы с клиентами SFTP (FileZilla и PHPStorm)
-
Ошибки подключения: Ошибки, такие как "EOT while reading packet", "Session timed out", могут указывать на проблемы с сетью или неправильными настройками клиента. Убедитесь, что в настройках FileZilla и PHPStorm используется правильный порт (22 для SFTP) и выбран SFTP как тип подключения.
-
Кэширование: Попробуйте сбросить кэш приложений или переустановить их.
-
Давность настроек: Ваша ситуация, когда доступ стал работать с другим IP-адресом, может указывать на проблемы с кэшированием DNS или тем, что старые правила брандмауэра блокируют подключение. Отличие в поведении при использовании разных IP может указывать на ограничения на уровне сервера.
3. Параметры пользователей SFTP
-
Конфигурация пользователей: Поскольку работа с основным пользователем теперь исправлена, но другие пользователи все еще сталкиваются с проблемами, возможно, проблема заключается в конфигурации самих SFTP пользователей. Проверьте, какие права и ограничения у этих пользователей:
- Убедитесь, что они имеют доступ к службе SFTP в настройках Plesk.
- Убедитесь, что их домашние директории указаны правильно и имеют необходимые права доступа.
4. Дополнительные шаги для диагностики
-
Логи: Проверьте логи SSH, находящиеся по пути
/var/log/auth.log
, на предмет ошибок входа. Это может помочь понять, что происходит во время соединения. -
Создание нового пользователя: Если проблема сохраняется, попробуйте создать нового SFTP пользователя и проверьте, решит ли это проблему.
-
Обновления и патчи: Убедитесь, что ваша система и все компоненты (включая Plesk и SSH) обновлены до последней версии.
Заключение
Сложности с подключением SFTP и FTP могут быть связаны с различными факторами, включая настройки службы SSH, права доступа пользователей, брандмауэр и конфигурации клиентов. Если вышеизложенные шаги не помогут, рекомендую обратиться в службу поддержки IONOS, так как они могут предоставить дополнительную информацию о конфигурации сервера.
И помните, что иногда проблема может быть связана с неочевидными факторами, поэтому стоит выполнять шаги диагностики последовательно и внимательно проверять каждый элемент конфигурации вашей системы.