Что такое SSH-доступ на виртуальном хостинге
SSH-доступ на shared-хостинге отличается от доступа на VDS: вместо полноценной оболочки с root-правами пользователь попадает в jailshell — изолированное окружение, ограниченное его домашней директорией. Это защищает других клиентов на том же сервере: вы не видите чужие файлы и не можете менять системные настройки.
Такого доступа достаточно для git-деплоя, запуска composer, wp-cli, npm-скриптов сборки и обычной работы с файлами через rsync или scp — всё, что не требует смены версии ядра или установки системных пакетов.
Как включить SSH-доступ в cPanel
В разделе «Security» откройте «SSH Access» → «Manage SSH Keys». Если пункта нет в интерфейсе, доступ по SSH для аккаунта включает поддержка хостинга по заявке в тикет — на большинстве тарифов функция доступна сразу, но может быть выключена по умолчанию из соображений безопасности.
Данные для подключения: имя хоста или IP сервера, имя пользователя cPanel и порт SSH — обычно нестандартный, отличный от 22. Точный порт указан в разделе «SSH Access» или в письме с данными аккаунта.
Подключение по SSH-ключу
Пароль для SSH использовать не стоит — ключевая пара надёжнее и не боится перебора. Сгенерируйте пару на своём компьютере:
ssh-keygen -t ed25519 -C "deploy@example.com" -f ~/.ssh/zevshost_key
Публичный ключ (файл с расширением .pub) добавьте в cPanel через «Manage SSH Keys» → «Import Key», вставив его содержимое целиком. После импорта нажмите «Authorize» напротив ключа — без этого шага сервер продолжит просить пароль.
Подключение с явным указанием ключа и порта:
ssh -i ~/.ssh/zevshost_key -p 2222 username@example.com
Что доступно в jailshell, а что нет
| Действие | Доступно |
|---|---|
| Работа с файлами внутри своей директории | Да |
| git clone, composer, npm, wp-cli | Да |
| rsync и scp между серверами | Да |
| sudo и установка системных пакетов | Нет |
| Просмотр процессов других пользователей | Нет |
| Смена версии PHP из консоли | Нет, только через MultiPHP Manager |
Версию PHP для CLI-скриптов в jailshell берёт значение, выставленное в MultiPHP Manager для домена — командой php -v можно только проверить текущую версию, а не изменить её.
Типичные команды в повседневной работе
Проверка занятого места и структуры сайта после подключения:
cd ~/public_html
du -sh * | sort -rh | head -10
Обновление зависимостей проекта на PHP и запуск отложенной задачи через cron вручную для проверки:
composer install --no-dev --optimize-autoloader
php artisan schedule:run
Итог: чек-лист безопасной работы по SSH
- Отключите вход по паролю там, где это разрешает панель, и используйте только ключ.
- Храните приватный ключ вне репозитория и не пересылайте его в мессенджерах.
- Указывайте нестандартный порт SSH из письма с данными аккаунта, а не порт 22.
- Помните: jailshell не даёт root — часть команд по установке ПО работать не будет.
- Для смены PHP используйте MultiPHP Manager, а не переменные окружения в shell.