⟵ Все статьи
Читать на:

Сервер не отвечает по SSH: диагностика и восстановление доступа через VNC-консоль

Сервер не отвечает по SSH: диагностика и восстановление доступа через VNC-консоль

Ситуация знакома многим: сервер работает, сайт или приложение отвечает, но подключиться по SSH невозможно. Соединение зависает, выдаёт «Connection refused» или «Connection timed out». Паниковать не стоит — в большинстве случаев причина банальна и устраняется за несколько минут. В этой статье разберём самые частые источники проблемы и покажем, как восстановить доступ через VNC-консоль, не дожидаясь поддержки и не теряя данные.

Почему SSH перестаёт отвечать: основные причины

Проблема почти всегда попадает в одну из пяти категорий. Первая — демон sshd остановлен или завершился с ошибкой после обновления пакетов или правки конфига. Вторая — порт SSH был сменён вручную или скриптом, а клиент по-прежнему стучится на стандартный 22. Третья — брандмауэр (ufw, iptables или nftables) заблокировал входящие соединения, например после применения нового набора правил. Четвёртая — fail2ban занёс ваш IP в бан после нескольких неудачных попыток входа. Пятая, и самая коварная, — диск заполнен до 100%: в этом случае sshd не может записать временные файлы и отказывается принимать соединения, хотя сам процесс формально запущен.

Как попасть на сервер, когда SSH недоступен

Для таких случаев в панели NodexGo есть web-консоль VNC — экран сервера прямо в браузере. Она работает в обход сети и SSH, поэтому доступна, даже когда сервер не отвечает снаружи. Откройте карточку сервера → «Управление» → «VNC-доступ». Введите логин root, затем нажмите в консоли кнопку «Ввести пароль» — она наберёт пароль root из карточки сервера, останется нажать Enter. Вручную пароль лучше не набирать: символы при вводе не видны, и из-за раскладки легко получить «Login incorrect».

Диагностика: что проверить первым делом

Войдя через консоль, начните с проверки службы SSH. В Ubuntu и Debian она называется ssh, в CentOS, AlmaLinux и Rocky — sshd. Команда покажет, запущена ли служба и не упала ли она с ошибкой:

systemctl status ssh

Если статус «failed» или «inactive», запустите демон и проверьте журнал на предмет ошибок конфигурации.

systemctl start ssh
journalctl -u ssh -n 50 --no-pager

Следующий шаг — убедиться, на каком порту sshd реально слушает. Это важно, если кто-то менял конфиг и не сообщил вам об этом.

ss -tlnp | grep -E 'ssh|:22'

Вывод покажет реальный порт. Если он отличается от 22, просто укажите нужный порт при подключении с клиента: ssh -p ПОРТ root@IP. Если хотите вернуть стандартный порт, откройте файл конфигурации /etc/ssh/sshd_config, найдите строку Port и исправьте значение, затем перезапустите sshd. В Ubuntu 24.04 SSH запускается через ssh.socket: после смены порта выполните systemctl daemon-reload и systemctl restart ssh.socket.

Проверка брандмауэра и fail2ban

Если sshd запущен и слушает нужный порт, виноват скорее всего брандмауэр. Проверьте правила ufw и iptables.

ufw status verbose
iptables -L INPUT -n --line-numbers

Если ufw включён и правило для SSH отсутствует, добавьте его и убедитесь, что порт открыт. Замените 22 на актуальный порт, если он нестандартный.

ufw allow 22/tcp
ufw reload

Теперь проверьте fail2ban. Утилита автоматически блокирует IP после нескольких неудачных попыток входа — это полезная защита, но она может заблокировать и вас самих, особенно если вы несколько раз ввели неверный пароль.

fail2ban-client status sshd

Если ваш IP присутствует в списке забаненных, разблокируйте его следующей командой, подставив реальный адрес.

fail2ban-client set sshd unbanip ВАШ_IP

Диск заполнен: как обнаружить и исправить

Заполненный диск — одна из самых неочевидных причин недоступности SSH, потому что сервер при этом продолжает работать. Проверьте использование дискового пространства.

df -h

Если какой-либо раздел показывает 100% или значение Use% близко к нему, нужно освободить место. Найдите крупные файлы, которые можно удалить: чаще всего это старые логи, дампы баз данных или кэш пакетного менеджера.

du -sh /var/log/* | sort -rh | head -20
apt clean
journalctl --vacuum-size=200M

После освобождения места перезапустите службу SSH — обычно этого достаточно. Если диск заканчивается регулярно, настройте ротацию логов (logrotate), удаляйте старые бэкапы и дампы или выберите тариф с диском побольше.

Нужен VPS с запасом ресурсов и удобной панелью управления?

Создать сервер

Крайний случай: переустановка ОС

Если конфигурация SSH повреждена настолько, что восстановить её не получается, а данные на сервере не критичны или заранее сохранены в резервную копию, воспользуйтесь кнопкой «Переустановить ОС» в карточке сервера. Операция занимает несколько минут: диск очищается, ставится свежий образ выбранной системы, IP-адрес сохраняется, а новый пароль root появится в карточке сервера. После этого вы получаете чистый сервер с рабочим SSH и можете восстановить нужные данные и конфигурации.

Как предотвратить проблему в будущем

Несколько простых правил помогут избежать повторения ситуации. Перед любым изменением конфига SSH открывайте вторую SSH-сессию — если что-то пойдёт не так, у вас останется активное соединение для отката. Настройте мониторинг дискового пространства и алерты при достижении 80% заполненности. Если меняете порт SSH, сначала добавьте новое правило в брандмауэр, и только потом перезапускайте демон. Храните актуальные данные для входа в панель управления: VNC-консоль и пароль root в карточке сервера — ваша страховка в любой нештатной ситуации.

Потеря SSH-доступа выглядит пугающе, но на практике решается за 5–15 минут, если знать, где искать. VNC-консоль в панели NodexGo позволяет войти на сервер в обход сети и устранить любую из описанных причин без привлечения поддержки. Арендуйте VPS с удобным управлением и спите спокойно — инструменты для быстрого восстановления всегда под рукой.

Арендуйте VPS с VNC-консолью и полным контролем над сервером

Создать сервер

Мы используем файлы cookie: необходимые — для входа в аккаунт и языка интерфейса, аналитические — чтобы понимать, какими страницами пользуются. Сторонних рекламных систем у нас нет. Подробнее