К основному содержимому

SSH-доступ на хостинге cPanel: ключи и jailshell

Хостинг и cPanel · 29.09.2026

Что такое 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.
← Назад в базу знаний Задать вопрос поддержке