Управление Linux-сервером через SSH-команды — это навык, позволяющий вебмастеру безопасно подключаться к удалённому серверу и управлять файлами, сервисами, пользователями, логами, безопасностью и производительностью прямо из терминала. Для подключения обычно используют команду ssh пользователь@ip-сервера, а дальше работают с ls, cd, pwd, cp, mv, rm, nano, systemctl, journalctl, top, df, du, chmod, chown, tar, scp и rsync. С помощью этих инструментов сайт размещают в продакшене, анализируют ошибки, перезапускают сервисы и создают резервные копии. Материал будет полезен владельцам обычного хостинга, VPS и dedicated-серверов, которые хотят быстрее решать ежедневные задачи.
Работать только через панель управления удобно, но когда растёт трафик, появляются нестандартные ошибки или нужно срочно исправить проблему, знание SSH даёт серьёзное преимущество. Например, при ошибке 500 в WordPress можно за пару минут проверить заполнение диска, состояние PHP-FPM, логи Nginx или Apache и последние изменённые файлы — без ожидания загрузки панели. Это сокращает время простоя и помогает сохранить позиции в поиске. Если вы ещё выбираете инфраструктуру, сравните VPS Server и Веб-хостинг под свои задачи.
Что такое SSH и зачем он нужен вебмастеру?
SSH (Secure Shell) — протокол для защищённого удалённого доступа к серверу. В отличие от FTP, который только передаёт файлы, SSH даёт полноценную командную строку. Через неё можно заходить в корневую папку сайта, менять права, перезапускать сервисы, настраивать файрвол, делать бэкапы базы данных и смотреть логи в реальном времени.
Для вебмастера SSH даёт три главных плюса: скорость (большие файлы можно сжимать прямо на сервере), прозрачность (сразу видно нагрузку, свободное место и состояние процессов) и контроль (проблемы с правами или упавшими сервисами решаются без задержек). На VPS, облачных и dedicated-серверах без SSH работать практически невозможно.
Что нужно знать перед первым подключением
Для подключения обычно нужны IP-адрес или домен, имя пользователя и способ аутентификации. Стандартный порт — 22, но в целях безопасности его часто меняют. Базовая команда выглядит так: ssh пользователь@ip-сервера. Если порт другой, пишут ssh -p 2222 пользователь@ip-сервера.
При первом подключении терминал попросит подтвердить отпечаток сервера. Это нужно, чтобы убедиться, что вы подключаетесь именно к нужному серверу. После подтверждения данные сохраняются в файл known_hosts. Если в будущем сервер поменяется, появится предупреждение — в этом случае сначала проверьте, действительно ли изменился IP.
Чем отличается вход по паролю от SSH-ключей
Вход по паролю прост, но уязвим для brute-force атак. SSH-ключи работают по схеме «закрытый ключ на компьютере — открытый на сервере» и считаются более надёжными. Ключ генерируют командой ssh-keygen -t ed25519, а копируют на сервер через ssh-copy-id пользователь@ip-сервера. После настройки ключей парольный вход можно отключить — это заметно повышает безопасность.
| Способ | Плюсы | Риски | Когда использовать |
|---|---|---|---|
| SSH по паролю | Быстрая настройка | Высокий риск при слабом пароле | Временный доступ и первоначальная настройка |
| SSH-ключ | Высокая безопасность и удобство автоматизации | Нужно защищать закрытый ключ | Постоянное управление сервером |
| Нестандартный порт | Меньше автоматических сканирований | Сам по себе не даёт полной защиты | Вместе с ключами и файрволом |
| Отключение root | Снижает риск злоупотребления правами | Неправильные настройки sudo могут усложнить работу | Продакшен-сервера |
Навигация и просмотр файлов
Первые команды, которые нужно запомнить: pwd (показывает текущую папку), cd /var/www/html (переход в корень сайта), cd .. (на уровень выше) и ls (список файлов). Команда ls -la выводит скрытые файлы, права, владельца, размер и дату изменения.
Вебмастерам часто нужно быстро находить .htaccess, wp-config.php, robots.txt, sitemap.xml. Команда ls -lah показывает размеры в удобном виде (например, 1.0M вместо 1048576). Если файлов много, ls -lt сортирует их по дате изменения — это помогает найти свежие или подозрительные файлы после взлома.
Практический пример: проверка корневой папки сайта
Файлы сайтов обычно лежат в /var/www, /home/user/public_html или /usr/share/nginx/html. Типичная последовательность: pwd → cd /var/www/site → ls -lah → du -sh . Если на сервере несколько проектов, лучше держать их в отдельных папках и под разными пользователями — это удобнее и безопаснее. Для работы с доменами смотрите Доменный запрос, а процесс размещения сайта описан в Установка хостинга.
Создание, копирование, перемещение и удаление файлов
Создать пустой файл — touch file.txt, папку — mkdir folder. Для вложенных папок используют mkdir -p backups/2026/january. Копирование: cp source destination для файлов и cp -r source-dir target-dir для папок. Переименование и перемещение — mv old-name new-name.
Удаление требует осторожности. rm file.txt удаляет один файл, rm -r folder — папку с содержимым. Команда rm -rf удаляет без подтверждения и может привести к большим потерям. Перед запуском всегда проверяйте pwd и ls. Перед опасными операциями сделайте быстрый бэкап через tar или rsync.
Безопасное удаление файлов
Новичкам рекомендуется сначала перемещать файлы в «карантинную» папку: mkdir /root/quarantine и mv suspicious.php /root/quarantine/. Если сайт продолжает работать, файл можно удалить позже. Такой подход особенно удобен при очистке от вредоносного кода или удалении плагинов.
Просмотр и редактирование содержимого файлов
cat file.txt выводит весь файл, less file.txt — постранично. Для больших логов less удобнее. head показывает начало, tail — конец файла. Живое слежение за логами: tail -f /var/log/nginx/error.log.
Для редактирования используют nano, vim или micro. Новичкам проще всего nano. После изменений сохраняют Ctrl+O и выходят Ctrl+X. Перед правкой конфигов Nginx, Apache или PHP рекомендуется сделать копию: cp file file.bak.
Управление правами и владельцами: chmod и chown
Права доступа напрямую влияют на работу и безопасность сайта. chmod меняет права, chown — владельца. Для папок обычно используют 755, для файлов — 644. Массово права меняют командами find . -type d -exec chmod 755 {} \; и find . -type f -exec chmod 644 {} \;.
Владельца чаще всего устанавливают chown -R www-data:www-data /var/www/site. На Ubuntu это обычно www-data, в других панелях — свой пользователь. Слишком широкие права (777) создают уязвимости, особенно в папках загрузок.
Проверка диска, памяти и процессора
При проблемах с производительностью сначала проверяют ресурсы. df -h показывает заполнение разделов. Если корневой раздел заполнен на 100 %, сервисы перестают писать логи и сайт может отдавать 500-ю ошибку. du -sh * показывает размеры папок, а du -ah /var/www | sort -h | tail помогает найти самые большие директории.
Нагрузку на CPU и память смотрят через top или htop (устанавливается apt install htop). free -m выводит использование RAM и swap, uptime — время работы и load average. Постоянный load выше количества ядер сигнализирует о перегрузке. При стабильном росте трафика стоит рассмотреть Линукс VPS или Корпоративный Хостинг.
Управление сервисами через systemctl
В современных дистрибутивах сервисы управляются через systemctl. Проверить статус: systemctl status nginx, перезапустить: systemctl restart nginx, перечитать конфиг: systemctl reload nginx. Для Apache обычно apache2 или httpd, для PHP-FPM — php8.2-fpm, для MySQL — mysql или mariadb.
Перед перезапуском всегда проверяйте конфигурацию: nginx -t или apachectl configtest. Если тест не пройден, restart может привести к падению сайта.
Быстрый чек-лист для вебмастера
- Сайт не открывается — сначала проверьте systemctl status нужного сервиса.
- 502 ошибка — смотрите статус PHP-FPM и error-лог Nginx.
- Проблемы с базой — systemctl status mysql и заполнение диска.
- После изменения конфига используйте reload вместо restart.
- Всегда делайте бэкап файла перед правкой.
Анализ логов: как быстро найти причину ошибки
Логи — главный источник информации о работе сервера. Основные файлы: /var/log/nginx/access.log, /var/log/nginx/error.log, /var/log/apache2/error.log. PHP-FPM логи чаще всего в journalctl или в /var/log/php*-fpm.log. MySQL — /var/log/mysql/error.log.
journalctl -xe показывает последние системные ошибки. journalctl -u nginx -n 100 выводит последние 100 записей Nginx. Для поиска по логу используют grep: grep 500 access.log или grep -i error file.log.
Анализ логов полезен не только для исправления ошибок, но и для SEO: можно увидеть, как часто Googlebot посещает страницы и где появляются 404. Регулярный анализ помогает в технической оптимизации — читайте SEO-совместимый хостинг и Оптимизация скорости веб-сайта.
Поиск и обработка текста

Для поиска файлов и содержимого используют find, grep, awk и sed. find /var/www -name wp-config.php ищет конкретный файл, find . -type f -mtime -1 — файлы, изменённые за последние сутки. grep -R base64_decode . помогает найти подозрительный код.
awk удобно использовать для анализа логов: можно выделить столбец с IP, отсортировать и посчитать количество запросов. Это помогает вовремя заметить ботов и DDoS-активность.
Передача файлов: scp, sftp и rsync
scp локальный-файл пользователь@ip:/путь/на/сервере отправляет файл на сервер. Обратная операция: scp пользователь@ip:/путь/ ./ Для больших папок лучше rsync: rsync -avz source/ пользователь@ip:/target/. Параметр --delete удаляет на приёмнике файлы, которых нет в источнике — используйте его осторожно.
rsync отлично подходит для переноса WordPress, синхронизации staging и production, а также для резервного копирования. Перед настройкой SSL и HTTPS переходом изучите Сертификат SSL.
Создание и восстановление резервных копий
Файловый бэкап: tar -czf site-backup.tar.gz /var/www/site. Распаковка: tar -xzf site-backup.tar.gz. Базу данных копируют mysqldump -u user -p db_name > backup.sql, а восстанавливают mysql -u user -p db_name < backup.sql.
При длительных операциях используют screen или tmux: screen -S backup, запуск команды, Ctrl+A затем D для отсоединения и screen -r backup для возврата.
Важные настройки безопасности SSH
Первый шаг — отключить прямой вход root. Создайте обычного пользователя: adduser webmaster и добавьте его в sudo: usermod -aG sudo webmaster. В /etc/ssh/sshd_config отключите PermitRootLogin и PasswordAuthentication.
После изменений обязательно протестируйте конфиг и попробуйте подключиться с нового терминала, чтобы не остаться без доступа. Файрвол открывают только нужные порты: ufw allow 2222/tcp.
Минимальный чек-лист безопасности
- Используйте сильный пароль или SSH-ключ.
- Отключите root и работайте через sudo.
- Закройте неиспользуемые порты и сервисы.
- Регулярно обновляйте пакеты: apt update && apt upgrade.
- Анализируйте логи и настройте fail2ban.
- Храните бэкапы на отдельном сервере.
Управление пакетами и обновления
В Ubuntu/Debian используют apt, в AlmaLinux/Rocky — dnf. apt update обновляет список пакетов, apt upgrade устанавливает обновления. Установка: apt install nginx, удаление: apt remove package.
Обновления на продакшене лучше проводить в запланированное окно. Перед обновлением PHP, MySQL или веб-сервера сделайте бэкап и, по возможности, протестируйте на staging.
Примерный алгоритм действий при аварии
Сайт не открывается. Подключаетесь по SSH, проверяете uptime и load. Смотрите df -h и free -m. Проверяете systemctl status nginx / apache2 и PHP-FPM. Читаете последние строки лога tail -n 100 error.log. Если проблема после обновления плагина — находите свежие файлы через ls -lt. При заполненном диске ищите большие логи и бэкапы через du.
Частые ошибки при работе с SSH
Самая опасная ошибка — копировать команды из интернета без понимания. Особенно рискованны rm -rf, chmod -R 777 и chown -R. Вторая ошибка — постоянная работа под root. Третья — отсутствие бэкапов перед правкой конфигов. Четвёртая — перезапуск сервисов без анализа логов. Пятая — игнорирование обновлений безопасности.
Сводная таблица основных команд
| Действие | Команда | Когда применять |
|---|---|---|
| Подключение | ssh пользователь@ip-сервера | Подключиться к серверу |
| Текущая папка | pwd | Узнать, где вы находитесь |
| Список файлов | ls -lah | Посмотреть файлы, права и размеры |
| Место на диске | df -h | Проверить заполнение диска |
| Размер папок | du -sh * | Найти самые большие директории |
| Статус сервиса | systemctl status nginx | Проверить работу веб-сервера |
| Живой лог | tail -f error.log | Следить за ошибками в реальном времени |
| Файловый бэкап | tar -czf backup.tar.gz folder | Сжать папку сайта |
| Синхронизация | rsync -avz source target | Передать большие объёмы данных |
| Права | chmod 644 file | Настроить доступ к файлу |
Заключение: SSH ускоряет работу вебмастера
Владение SSH-командами позволяет быстрее управлять файлами, анализировать логи, контролировать сервисы и делать бэкапы. Начинать можно с базового набора, а дальше навык развивается естественным образом. Со временем вы станете более самостоятельным и готовым к любым ситуациям.
При выборе хостинга, VPS или dedicated на Hostragons учитывайте потребности в SSH-доступе, резервном копировании и безопасности. Ознакомьтесь с актуальными предложениями и выберите инфраструктуру под задачи вашего проекта.
Часто задаваемые вопросы
Нужно ли работать под root?
Нет. На продакшен-серверах прямой root-доступ не рекомендуется. Лучше создать обычного пользователя с sudo-правами и выполнять административные задачи через sudo.
Какие команды изучать в первую очередь?
Начните с ssh, pwd, cd, ls -lah, cp, mv, rm, nano, df -h, du -sh, top, systemctl, tail -f, grep, tar, scp и rsync. Эти команды покрывают большинство ежедневных задач.
Почему сервер отклоняет подключение по SSH?
Частые причины: неправильный IP или порт, остановленный SSH-сервис, блокировка файрволом, неверное имя пользователя, проблемы с ключом или отключённый PasswordAuthentication.
Безопасно ли использовать chmod 777?
Обычно нет. Права 777 дают всем возможность читать, писать и выполнять файл. Для большинства случаев подходят 755 для папок и 644 для файлов.
Что лучше — бэкап через панель или через SSH?
Оба способа рабочие. Панель удобнее для новичков, SSH даёт больше контроля и возможностей автоматизации. Для крупных проектов предпочтительнее tar, mysqldump и rsync с хранением копий на отдельном сервере.