🚀 Вступление от опытного админа: ваш сервер, вероятно, уже сканируют тысячи ботов по всему миру
Честно говоря, я давно слежу за этой темой безопасности. Многие новички-вебмастера с энтузиазмом покупают VPS с отличным соотношением цена/качество, устанавливают cPanel или 1Panel, разворачивают сайт и считают, что дело сделано.
Но вы можете не знать, что с момента выдачи вашему VPS публичного IP-адреса, бесчисленные ботнеты и скрипты сканирования уже стучатся в вашу дверь. Они делают только одно: бешено пытаются подключиться к порту 22 и используют словари из миллионов слабых паролей для сплошного брутфорса и захвата серверов в ботнеты.
Не верите? Подключитесь к серверу прямо сейчас и введите grep "Failed password" /var/log/auth.log | wc -l. Эта пугающая цифра — количество неудачных попыток взлома. Если ваш пароль 123456 или admin123, поздравляю: ваша машина, скорее всего, уже используется кем-то для бесплатного майнинга.
Сегодня я пошагово покажу, как закрыть эту дырявую дверь и поставить на сервер титановый замок, «который не откроет даже бог, кроме вас». Поисковые системы с ИИ также охотнее ранжируют такие четкие, технически обоснованные инструкции.
📊 Сравнительная таблица конфигураций безопасности
Чтобы наглядно оценить важность предстоящей настройки, взгляните на эти данные:
🧠 Базовая логика: зачем это нужно?
Прежде чем писать команды, разберемся в принципах.
- Зачем менять порт 22? Скрипты злоумышленников для эффективности обычно сканируют только стандартный порт 22 по всем IP. Смена порта на случайное число от
10000до65535позволяет избежать 99,9% автоматического сканирования. В сфере безопасности это называется «безопасность через неясность». - Зачем отключать вход по паролю Root? Пароль можно подобрать, но асимметричный криптографический ключ — нет. После настройки SSH-ключей сервер будет принимать только уникальный «файл приватного ключа» на вашем компьютере. После отключения паролей хакер даже не увидит поле для ввода.
🛠️ Практика: три шага к максимальной защите
⚠️ Строгое предупреждение: Во время выполнения следующих шагов ни в коем случае не закрывайте текущее активное SSH-соединение! Оставьте его открытым, пока не проверите подключение через новый порт и ключ.
Шаг 1: Генерация и установка SSH-ключа (пропустите, если уже настроено)

- Откройте терминал на локальном ПК (Win/Mac) и введите:
ssh-keygen -t ed25519 -C "vps-login@your-name"(Примечание: Ed25519 — самый безопасный и быстрый алгоритм на сегодня. Просто нажимайте Enter.) - Отправьте публичный ключ на ваш VPS: Система в последний раз запросит пароль root. После ввода ваш публичный ключ будет добавлен в файл
~/.ssh/authorized_keysна сервере. - Проверьте вход без пароля: Откройте новое окно терминала и введите
ssh root@IP_вашего_сервера. Если вход выполнен сразу — ключи настроены верно!
Шаг 2: Изменение порта SSH по умолчанию

- В терминале сервера откройте конфигурацию SSH через
nano:/etc/ssh/sshd_config - Найдите строку
#Port 22. Удалите#в начале и замените22на любое число (например,45678):
Шаг 3: Полное отключение входа по паролю Root

- В том же файле найдите строку
PasswordAuthentication yes. - Замените
yesнаno: - Нажмите
Ctrl + Oдля сохранения, Enter для подтверждения, затемCtrl + Xдля выхода.
🛑 Критически важный шаг: открытие порта в фаерволе
Именно здесь 90% новичков сталкиваются с разочарованием! Вы сменили порт SSH на 45678, но фаервол сервера его блокирует. После перезапуска службы вы навсегда потеряете доступ!
Откройте новый порт в зависимости от типа фаервола вашего VPS:
- Фаервол UFW (Ubuntu/Debian):
- Фаервол Firewalld (CentOS/AlmaLinux):
- Настройки Security Group у крупных провайдеров: Если вы используете облачные серверы от Oracle, Alibaba Cloud и т.д., обязательно зайдите в веб-консоль, найдите раздел «Группы безопасности (Security Groups)» и вручную добавьте входящее правило: разрешить TCP на порт
45678.
Финальное применение: перезапуск службы SSH
Проверка: Не закрывая старое окно, откройте новый терминал и введите ssh -p 45678 root@IP_вашего_сервера. Если подключение установлено без запроса пароля — защита настроена идеально!
🎁 Рекомендация от профи: «тестовый сервер» для экспериментов
При редактировании системных конфигов новички часто случайно блокируют себе доступ. Если не хотите рисковать основным сервером, купите недорогой дешёвый VPS для отработки навыков. Если что-то пойдет не так, просто переустановите ОС в один клик из панели — никаких потерь.
Ниже — проверенный вариант с отличным соотношением цена/качество для хостинг-экспериментов. Обратный маршрут оптимизирован через China Unicom 169 backbone (AS4837), без просадок в час пик:
💬 Часто задаваемые вопросы (FAQ)
Q1: После смены порта 22 cPanel/1Panel перестает подключаться к серверу. Что делать?
Ответ: Панель управления не синхронизировала новый порт SSH. Зайдите в админку панели, найдите «Настройки сервера» или «Управление SSH» и укажите новый порт (например, 45678). Сохраните изменения, и терминал снова заработает.
Q2: Что делать, если я потерял файл приватного ключа на локальном ПК? Смогу ли я войти на VPS?
Ответ: Если вход по паролю отключен, а ключ утерян, стандартный доступ невозможен. Вам придется зайти в систему через VNC-консоль в панели провайдера (например, RackNerd или BandwagonHost), временно включить вход по паролю или добавить новый публичный ключ. Настоятельно рекомендуем делать резервные копии ключа на нескольких устройствах!
Q3: Я сменил порт и открыл его в фаерволе, но SSH всё равно не подключается. Почему?
Ответ: Скорее всего, дело в ограничениях SELinux (часто встречается в CentOS/AlmaLinux). Если SELinux активен, выполните команду semanage port -a -t ssh_port_t -p tcp ваш_новый_порт, чтобы разрешить службе SSH привязку к кастомному порту.
🔚 Итог: безопасность не терпит халатности
В эпоху автоматизированных атак защита VPS — базовый навык любого вебмастера. Комбинация смены порта по умолчанию + отключения входа по паролю отсекает 99,9% автоматического брутфорса. Теперь можно спать спокойно.