Първите 10 минути с нов Linux VPS: SSH ключ, обновления и защитна стена

Въпроси и дискусии за VPS планове, Linux настройки, WordPress, Nginx, NAT и конфигурации за VPS в България.
rychy
Site Admin
Posts: 138
Joined: Tue Oct 20, 2026 10:45 am

Първите 10 минути с нов Linux VPS: SSH ключ, обновления и защитна стена

Post by rychy »

🇬🇧 Read in English

⏱️ Първите 10 минути с нов Linux VPS

Новият сървър е чист, но не е „готов“. Ботовете в интернет пробват пароли постоянно и не чакат да си настроил нещата. Ето какво правим в първите 10 минути след като получим данните за вход. Командите са за Debian/Ubuntu, а където е различно — и за AlmaLinux/Rocky.

1️⃣ Влез и смени паролата

Данните за вход идват по имейл: потребител, парола и SSH порт.

Code: Select all

ssh -p ПОРТ потребител@ssh.vpsstorages.com
Първото нещо — нова, дълга парола, която не ползваш никъде другаде:

Code: Select all

passwd

2️⃣ Обнови системата

Code: Select all

# Debian / Ubuntu
sudo apt update && sudo apt upgrade -y

# AlmaLinux / Rocky
sudo dnf upgrade -y
Ако е обновено ядрото, рестартирай: sudo reboot

3️⃣ Вход с SSH ключ вместо с парола

Ключът не може да бъде „налучкан“ като паролата. Създава се на твоя компютър (Windows 10/11, macOS и Linux имат ssh-keygen):

Code: Select all

ssh-keygen -t ed25519
Качи публичния ключ на сървъра:

Code: Select all

# Linux / macOS
ssh-copy-id -p ПОРТ потребител@ssh.vpsstorages.com

# Windows (PowerShell)
type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh -p ПОРТ потребител@ssh.vpsstorages.com "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
Излез и влез пак — ако не те пита за парола (или пита само за паролата на ключа), ключът работи.

4️⃣ (По желание) Изключи входа с парола

⚠️ Само след като ключът работи! И дръж един отворен SSH прозорец, докато пробваш в друг — ако нещо се обърка, ще можеш да го върнеш.

Code: Select all

echo "PasswordAuthentication no" | sudo tee /etc/ssh/sshd_config.d/00-keys-only.conf
sudo sshd -t && sudo systemctl restart ssh    # AlmaLinux/Rocky: sshd
sudo sshd -T | grep passwordauthentication   # трябва да е: no
Файлът е с 00- отпред нарочно: при SSH печели първата настройка, а някои системи вече имат файл, който разрешава паролите.
Пази копие на ключа си на сигурно място — без него и без парола няма да влезеш.

5️⃣ Защитна стена

Вътре в сървъра SSH е на порт 22 (портът от имейла е само външният). Разреши SSH преди да включиш стената:

Code: Select all

# Debian / Ubuntu
sudo apt install -y ufw
sudo ufw allow 22/tcp
sudo ufw enable

# AlmaLinux / Rocky
sudo dnf install -y firewalld
sudo systemctl enable --now firewalld
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
Имаш сайт? Добави и 80/tcp (Ubuntu: sudo ufw allow 80/tcp, Alma: --add-service=http).
💡 Docker отваря портовете на контейнерите сам и заобикаля ufw — имай го предвид.

6️⃣ Автоматични обновления за сигурност

Повечето пробиви са през дупки, за които отдавна има поправка. Нека сървърът се обновява сам:

Code: Select all

# Debian / Ubuntu
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades

# AlmaLinux / Rocky
sudo dnf install -y dnf-automatic
sudo sed -i 's/^upgrade_type.*/upgrade_type = security/; s/^apply_updates.*/apply_updates = yes/' /etc/dnf/automatic.conf
sudo systemctl enable --now dnf-automatic.timer

7️⃣ Провери кой влиза

Code: Select all

last -n 10                        # последните входове
sudo journalctl -u ssh --since today   # AlmaLinux/Rocky: -u sshd
Опитите за вход с грешни имена (admin, test, oracle…) са нормален интернет шум. Важното е да няма успешен вход, който не е твой.

❓ А fail2ban?

На обикновен сървър с публичен IP fail2ban е добра идея. При нашите VPS обаче SSH минава през общ вход (ssh.vpsstorages.com), затова сървърът вижда всички входове като идващи от един и същ адрес. fail2ban би блокирал този адрес — и би заключил и теб. Тук по-добрата защита е ключ + силна парола.

🛡️ Или с една отметка при поръчка

При поръчка на Linux VPS можеш да избереш безплатната добавка „Защита на сървъра“. Тя прави вместо теб стъпки 5 и 6 (защитна стена и автоматични обновления), ограничава опитите за вход по SSH и затяга мрежовите настройки на системата. Входът с парола остава, така че SSH ключа (стъпки 3–4) добавяш сам, ако искаш.

Въпроси? Пиши тук в темата 👇