- Первая настройка VPS на Ubuntu или Debian занимает около 15 минут: обновление системы, пользователь с sudo, вход по SSH-ключу, запрет входа по паролю и под root, файрвол UFW и fail2ban.
- Вход по паролю и под root на Linux-сервере отключают файлом
/etc/ssh/sshd_config.d/00-hardening.confсPasswordAuthentication noиPermitRootLogin no- и только после того, как вход по SSH-ключу проверен. - Файрвол UFW включают только после правила
ufw allow OpenSSH, иначе UFW оборвёт текущую SSH-сессию; порты 80 и 443 открывают, только если на сервере будет сайт. - На Debian 12 журнал SSH пишется только в systemd, поэтому fail2ban для защиты SSH настраивают с параметром
backend = systemd. - На VPS с 2 ГБ памяти swap-файл на 2 ГБ страхует процессы от падения при кратком пике нагрузки, но не заменяет оперативную память.
Шаг 1. Подключитесь к серверу
IP-адрес и пароль root показаны в панели в разделе «Мои серверы» и в Telegram-боте. Подключитесь из терминала - на macOS, Linux и в Windows 10/11 клиент SSH уже встроен (клиенты, ключи и типичные ошибки разобраны в руководстве по подключению по SSH):
ssh root@IP_СЕРВЕРАШаг 2. Обновите систему
Образ системы собран раньше, чем вышли последние исправления безопасности, поэтому первым делом установите все обновления:
apt update && apt upgrade -yШаг 3. Создайте своего пользователя
Работать постоянно под root опасно: любая ошибка выполняется с полными правами. Создайте пользователя (ниже - deploy, имя любое) и дайте ему sudo:
adduser deploy
usermod -aG sudo deployШаг 4. Настройте вход по SSH-ключу
На своём компьютере (не на сервере) создайте ключ и отправьте публичную часть на сервер. macOS и Linux:
ssh-keygen -t ed25519
ssh-copy-id deploy@IP_СЕРВЕРАВ Windows PowerShell команды ssh-copy-id нет - то же самое делает такая строка:
type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh deploy@IP_СЕРВЕРА "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"Проверьте, что ssh deploy@IP_СЕРВЕРА пускает без пароля. Только после этого переходите к следующему шагу.
Шаг 5. Запретите вход по паролю и под root
Настройки кладём отдельным файлом в sshd_config.d: на Ubuntu там может лежать файл облачной инициализации, который снова разрешает пароли, а файл с префиксом 00- читается первым и выигрывает. sshd -t проверяет конфигурацию до перезапуска:
sudo tee /etc/ssh/sshd_config.d/00-hardening.conf > /dev/null <<'EOF'
PasswordAuthentication no
PermitRootLogin no
EOF
sudo sshd -t && sudo systemctl restart sshШаг 6. Включите файрвол UFW
Разрешите SSH до включения файрвола, иначе он закроет и вашу сессию. Порты 80 и 443 откройте, только если на сервере будет сайт:
sudo apt install -y ufw
sudo ufw allow OpenSSH
sudo ufw allow 80,443/tcp
sudo ufw enable
sudo ufw statusШаг 7. Поставьте fail2ban
fail2ban блокирует адреса, с которых идут неудачные попытки входа. На Debian 12 журнал SSH пишется только в systemd, поэтому в настройке указан backend = systemd:
sudo apt install -y fail2ban python3-systemd
sudo tee /etc/fail2ban/jail.local > /dev/null <<'EOF'
[sshd]
enabled = true
backend = systemd
EOF
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshdШаг 8. Включите автоматические обновления безопасности
Пакет unattended-upgrades сам ставит исправления безопасности каждый день. Установите его и подтвердите включение в появившемся диалоге:
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgradesШаг 9. Добавьте swap на небольшом тарифе
На конфигурации с 2 ГБ памяти файл подкачки страхует от падения процессов при кратком пике нагрузки. Он не заменяет память: если swap используется постоянно, стоит взять тариф побольше.
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstabAMD Ryzen 9, NVMe и защита от DDoS в Германии, Финляндии и Польше. Оплата криптовалютой или картой.
Частые вопросы
Под каким пользователем выдаётся VPS?
Linux-серверы Tihost выдаются под root, Windows Server - под Administrator. Пароль показан в панели и в боте, его можно сменить кнопкой «Сменить пароль».
Что делать, если я заблокировал себе доступ по SSH?
Откройте «Консоль (VNC)» на странице сервера в панели: это экран сервера в браузере, SSH для неё не нужен. Войдите и исправьте настройки SSH или файрвола.
Нужен ли fail2ban, если вход по паролю отключён?
При отключённом входе по паролю fail2ban уже не критичен, но полезен: снижает шум в журналах и нагрузку от перебора, а также защищает другие сервисы, если вы добавите для них правила.
Нужно ли менять порт SSH?
Смена порта SSH уменьшает количество автоматических попыток входа, но не заменяет вход по ключу. Главное - ключи вместо паролей и запрет root.
Как подключиться к VPS по SSH из Windows?
В Windows 10 и 11 клиент OpenSSH встроен: откройте PowerShell и выполните ssh root@IP_СЕРВЕРА, подставив адрес сервера из панели. Ключи, PuTTY и частые ошибки подключения разобраны в руководстве по SSH.