SFTP (SSH File Transfer Protocol) - безопасный протокол для работы с файлами на удаленном сервере. Позволяет передавать файлы, создавать каталоги, управлять правами и многое другое. Для пользователя работа по SFTP выглядит аналогично работе по FTP, при этом соединение осуществляется на базе защищенного протокола SSH.
Для подключения по SFTP можно воспользоваться FTP-клиентом, например, FileZilla.
Реквизиты подключения
Стандартно для подключения используются следующие реквизиты:
- Хост: IP-адрес вашего сервера (можно найти на главной странице сервера в панели управления)
- Имя пользователя: имя пользователя, созданного на сервере
- Пароль: пароль данного пользователя
- Порт: 22
Если используется авторизация по RSA-ключу, то также потребуется указать кодовую фразу (если она была задана при создании RSA-ключа) и загрузить содержимое публичного ключа.
Не рекомендуется подключаться по SFTP от имени root-пользователя. Помимо того, что это небезопасно, это также менее удобно. После подключения под root вы по умолчанию окажетесь в домашней директории root (то есть /root), и для перехода к директории с вашими проектами потребуется перемещаться по файловой структуре. Кроме того, если вы загрузите файлы от имени root, для них будут выставлены пользователь и группа root:root, и веб-сервер не сможет прочитать их. Как следствие, на сайте появятся ошибки доступа к новым файлам.
VestaCP
По умолчанию в VestaCP создан пользователь admin. Для подключения под данным пользователем необходимо использовать реквизиты:
- Хост: IP-адрес сервера
- Имя пользователя: admin
- Пароль: пароль пользователя admin (по умолчанию совпадает с паролем root)
- Порт: 22
После подключения вы окажетесь в директории /home/admin/
Директории сайтов размещаются по адресу: /home/admin/web/имя_домена
Если вы создали в VestaCP дополнительного пользователя (например, user) и добавили сайт в разделе WEB от его имени, подключиться по SFTP нужно с его реквизитами:
- Хост: IP-адрес сервера
- Имя пользователя: user
- Пароль: пароль пользователя user
- Порт: 22
После подключения вы окажетесь в директории /home/user/
Директории сайтов размещаются по адресу: /home/user/web/имя_домена
ISPmanager
Перед подключением по SFTP убедитесь, что у нужного пользователя есть shell-доступ. Это можно проверить в ISPmanager в разделе Учетные записи - Пользователи - выделить нужного пользователя - Изменить.
Необходимо, чтобы был отмечен пункт Доступ к shell.
По умолчанию в ISPmanager создан пользователь www-root. Если вы размещали сайты в разделе "WWW-домены" от имени данного пользователя, то подключиться по SFTP можно с реквизитами:
- Хост: IP-адрес сервера
- Имя пользователя: www-root (по умолчанию совпадает с паролем root)
- Пароль: пароль пользователя www-root
- Порт: 22
После подключения вы окажетесь в директории /var/www/www-root/data/
Директории сайтов размещаются по адресу /var/www/www-root/data/www/имя_домена
Если вы создали дополнительного пользователя (например, user) и добавляли сайты от его имени, для подключения используйте его реквизиты:
- Хост: IP-адрес сервера
- Имя пользователя: user
- Пароль: пароль пользователя user
- Порт: 22
После подключения вы окажетесь в директории /var/www/user/data
Директории сайтов размещаются по адресу /var/www/user/data/www/имя_домена
Bitrix 7
По умолчанию в системе Bitrix 7 создан пользователь bitrix. При подключении по SFTP необходимо использовать реквизиты:
- Хост: IP-адрес сервера
- Имя пользователя: bitrix
- Пароль: пароль пользователя bitrix (по умолчанию совпадает с паролем root)
- Порт: 22
После подключения вы окажетесь в директории /home/bitrix/
Директории сайтов размещаются по адресам /home/bitrix/www/
(для основного сайта) и /home/bitrix/ext_www/имя_домена
(для дополнительных сайтов, созданных средствами BitrixVM).
LAMP
По умолчанию в такой сборке для работы веб-серверов используется пользователь www-data. Для того, чтобы работать от другого пользователя, в том числе подключаться по SFTP, необходимо выполнить настройку по инструкции ниже.
Подключитесь к серверу по SSH и выполните следующие действия:
1. Создайте нового SFTP-пользователя (в примере - sftpuser) с домашней директорией /var/www/:
useradd -d /var/www/ sftpuser
2. Установите пароль для нового пользователя:
passwd sftpuser
Появится запрос на ввод пароля - введите его. Обратите внимание, что символы не будут отражены на экране во время ввода.
3. Добавьте пользователя к группе www-data:
usermod -aG www-data sftpuser
Сделайте группу www-data основной:
usermod -g www-data sftpuser
4. Откройте конфигурационный файл Nginx:
nano /etc/nginx/nginx.conf
В нем замените строку:
user www-data;
На:
user sftpuser;
И перезапустите Nginx:
service nginx restart
Проверьте, от какого пользователя запускается веб-сервер Nginx. Это можно сделать командой:
ps auxwwww | grep nginx
В выводе команды видим, что запуск выполняется от sftpuser:
6. Для веб-сервера Apache2 пользователь может быть задан в одном из следующих файлов:
В Ubuntu / Debian:
/etc/apache2/apache2.conf или /etc/apache2/envvars
В CentOS:
/etc/httpd/httpd.conf или /etc/httpd/envvars
В нашей сборке LAMP задавать переменные необходимо в файле /etc/apache2/envvars
.
В целом же, чтобы проверить, в каком файле необходимо задавать переменные, необходимо его просмотреть - в том из них, который будет содержать www-data, необходимо заменить этот значение на sftpuser.
Откройте конфигурационный файл с переменными сервера Apache2:
В Ubuntu / Debian:
nano /etc/apache2/envvars
В CentOS:
nano /etc/httpd/envvars
Замените строку:
export APACHE_RUN_USER=www-data
На:
export APACHE_RUN_USER=sftpuser
Далее перезапустите веб-сервер:
service apache2 restart # для CentOS: service httpd restart
И проверьте, от какого пользователя запускается Apache2, с помощью команды:
ps auxwwww | grep apache
7. Установите корректные права, владельца и группу для директории, где будут храниться сайты (домашней директории пользователя), поочередно выполнив команды:
find /var/www -type d -exec chmod 755 {} \; find /var/www -type f -exec chmod 644 {} \; chown -R sftpuser:www-data /var/www/
На этом настройка завершена.
Теперь необходимо проверить подключение по SFTP, используя следующие реквизиты для авторизации:
- Хост: IP-адрес сервера
- Имя пользователя: sftpuser
- Пароль: пароль пользователя sftpuser (заданный на шаге 2)
- Порт: 22