Первая настройка VPS после покупки. Что сделать в первые 10 минут
Чек-лист: первые 10 минут с новым VPS
После покупки VPS вы получите IP-адрес, логин root и пароль. Вот что нужно сделать сразу:
- Подключиться по SSH
- Обновить систему
- Создать обычного пользователя
- Настроить SSH-ключи
- Включить файрвол
- Установить fail2ban
- Сменить SSH-порт (опционально)
Шаг 1: Подключение по SSH
ssh root@ваш_ip_адрес
При первом подключении подтвердите отпечаток ключа, набрав yes.
Шаг 2: Обновление системы
apt update && apt upgrade -y
Это установит все обновления безопасности. На свежем сервере обновление займёт 1-2 минуты.
Шаг 3: Создание пользователя
Работать под root постоянно это плохая практика. Создайте обычного пользователя:
adduser deploy
usermod -aG sudo deploy
Теперь deploy может выполнять команды через sudo.
Шаг 4: Настройка SSH-ключей
На вашем компьютере (не на сервере):
ssh-keygen -t ed25519 -C "your_email@example.com"
ssh-copy-id deploy@ваш_ip_адрес
Проверьте вход по ключу:
ssh deploy@ваш_ip_адрес
Если всё работает, отключите вход по паролю:
sudo nano /etc/ssh/sshd_config
PasswordAuthentication no
PubkeyAuthentication yes
PermitRootLogin no
sudo systemctl restart sshd
Не закрывайте текущую SSH-сессию, пока не проверите вход по ключу в новом окне терминала. Иначе рискуете потерять доступ.
Шаг 5: Настройка файрвола UFW
# Разрешить SSH (ПЕРЕД включением!)
sudo ufw allow 22/tcp
# Разрешить HTTP и HTTPS (если нужен веб-сервер)
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# Включить файрвол
sudo ufw enable
# Проверить статус
sudo ufw status
Шаг 6: Установка fail2ban
sudo apt install fail2ban -y
Создайте конфигурацию:
sudo nano /etc/fail2ban/jail.local
[sshd]
enabled = true
port = ssh
maxretry = 3
bantime = 86400
sudo systemctl enable fail2ban
sudo systemctl restart fail2ban
Подробная настройка в статье Настройка fail2ban.
Шаг 7 (опционально): Смена SSH-порта
Смена стандартного порта 22 отсечёт большинство автоматических ботов:
sudo nano /etc/ssh/sshd_config
Port 2222
sudo ufw allow 2222/tcp
sudo ufw delete allow 22/tcp
sudo systemctl restart sshd
Теперь подключение:
ssh -p 2222 deploy@ваш_ip_адрес
Установка полезных утилит
sudo apt install -y htop curl wget git nano unzip
| Утилита | Описание |
|---|---|
htop |
Мониторинг CPU, RAM, процессов |
curl / wget |
Скачивание файлов |
git |
Система контроля версий |
nano |
Текстовый редактор |
unzip |
Распаковка архивов |
Настройка часового пояса
sudo timedatectl set-timezone Europe/Moscow
Настройка автоматических обновлений безопасности
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure -plow unattended-upgrades
Система будет автоматически устанавливать критические обновления безопасности.
Итоговый чек-лист
| Шаг | Статус |
|---|---|
| Система обновлена | ☐ |
| Создан пользователь (не root) | ☐ |
| SSH-ключи настроены | ☐ |
| Вход по паролю отключён | ☐ |
| Вход root по SSH отключён | ☐ |
| Файрвол включён | ☐ |
| fail2ban установлен | ☐ |
| SSH-порт изменён | ☐ |
Эти 10 минут настройки защитят ваш сервер от 99% автоматических атак. Не пропускайте ни один шаг.