Работа с сервером через SFTP (SSH File Transfer Protocol)
SFTP (SSH File Transfer Protocol) - это безопасный протокол для управления файлами на удаленном сервере. Он позволяет вам передавать файлы, создавать каталоги, управлять правами доступа и многое другое. Для пользователя работа с SFTP очень похожа на работу с FTP, но при этом происходит подключение через защищенный протокол SSH.
Для подключения по SFTP вы можете использовать FTP-клиент, например, FileZilla.
Реквизиты подключения
Обычно для подключения к SFTP используются следующие реквизиты:
- Хост: IP-адрес вашего сервера (вы можете найти его на главной странице сервера в панели управления).
- Имя пользователя: имя пользователя, созданного на сервере.
- Пароль: пароль этого пользователя.
- Порт: 22.
Если вы используете аутентификацию с помощью RSA-ключа, вам также потребуется ввести кодовую фразу (если она была установлена при создании ключа) и загрузить публичный ключ.
Мы настоятельно рекомендуем избегать подключения по SFTP от имени пользователя root. Это не только небезопасно, но и неудобно. Если вы войдете как root, вы будете находиться в домашней директории root (обычно /root), и вам придется перемещаться по файловой структуре для доступа к директории с вашими проектами. Кроме того, если вы загрузите файлы от имени root, они будут принадлежать пользователю и группе root:root, и веб-сервер не сможет прочитать их. Это может привести к ошибкам доступа к файлам на вашем сайте.
Fastpanel
Если вы используете Fastpanel, то при установке будет создан пользователь fastuser. Для подключения под этим пользователем используйте следующие реквизиты:
- Хост: IP-адрес вашего сервера.
- Имя пользователя: fastuser.
- Пароль: пароль, установленный для пользователя fastuser (обратите внимание, что он отличается от пароля root).
- Порт: 22.
После успешного подключения вы окажетесь в директории /var/www/fastuser/data.
Сайты обычно размещаются в подпапках этой директории: /var/www/fastuser/data/www/имя_домена.
Если вы создали дополнительного пользователя (например, user), используйте его реквизиты для подключения.
- Хост: IP-адрес сервера
- Имя пользователя: user
- Пароль: пароль пользователя user
- Порт: 22
После успешного подключения, вы окажетесь в директории /var/www/user/data.
Директории сайтов размещаются по следующему адресу: /var/www/user/data/www/имя_домена.
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 и выполните следующие действия:
- Создайте нового SFTP-пользователя (в данном примере используется sftpuser) с домашней директорией /var/www/:
useradd -d /var/www/ sftpuser
- Установите пароль для нового пользователя:
passwd sftpuser
Появится запрос на ввод пароля — введите его. Обратите внимание, что символы не будут отображаться на экране во время ввода.
- Добавьте пользователя в группу www-data:
usermod -aG www-data sftpuser
Сделайте группу www-data основной для пользователя:
usermod -g www-data sftpuser
- Откройте конфигурационный файл Nginx:
nano /etc/nginx/nginx.conf
Откройте файл nginx.conf в текстовом редакторе:
nano /etc/nginx/nginx.conf
Найдите строку:
user www-data;
И замените ее на:
user sftpuser;
Сохраните изменения и закройте редактор.
Чтобы применить изменения, перезапустите Nginx:
service nginx restart
Теперь проверьте, от какого пользователя запущен веб-сервер Nginx с помощью команды:
ps auxwwww | grep nginx
Вы увидите, что веб-сервер запущен от имени пользователя sftpuser.
- Для веб-сервера Apache2 настройка пользователя выполняется в одном из следующих файлов:
В Ubuntu / Debian:
/etc/apache2/apache2.conf
# Или:
/etc/apache2/envvars
В CentOS:
/etc/httpd/httpd.conf
# Или:
/etc/httpd/envvars
В нашей сборке LAMP, вам нужно настроить переменные в файле /etc/apache2/envvars.
Чтобы узнать, в каком файле настроек прописан пользователь www-data, вы можете проверить каждый из них на наличие этой строки. Как только вы найдете файл, содержащий 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
Сохраните изменения и закройте файл.
Затем перезапустите веб-сервер. Для Debian/Ubuntu выполните команду:
service apache2 restart
Для CentOS используйте команду:
service httpd restart
Проверьте, от имени какого пользователя работает Apache2 с помощью команды:
ps auxwwww | grep apache
- Установите правильные права доступа, владельца и группу для директории, в которой будут храниться сайты (домашняя директория пользователя). Выполните следующие команды по очереди:
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