Сначала проверьте ключ хоста
Провижининг отправляет вам по почте адрес, пароль root и отпечаток ключа хоста SSH. Тот же отпечаток есть на странице инстанса в панели. Сравните их, прежде чем принять ключ. Если они расходятся, не вводите пароль и откройте тикет.
ssh root@<ipv4>Сгенерированный нами пароль не хранится на нашей стороне после отправки письма. Это не повод продолжать его использовать.
Обновитесь в первую очередь
Debian 13:
apt update && apt full-upgrade -y && apt autoremove -yAlmaLinux 10:
dnf -y upgrade --refreshПерезагрузка нужна только в том случае, если переместилось ядро. На Debian needrestart сообщит вам об этом во время обновления; на AlmaLinux dnf needs-restarting -r ответит на тот же вопрос после.
Создайте учетную запись, не являющуюся root
adduser deploy
usermod -aG sudo deployВ AlmaLinux группа — wheel, а adduser не интерактивен:
useradd -m -s /bin/bash deploy
usermod -aG wheel deploy
passwd deployУстановите свой публичный ключ на эту учетную запись сейчас и проверьте его со второго терминала. Блокировка SSH до того, как ключ работает, — самый популярный маршрут к консоли вне полосы.
Усильте sshd с помощью drop-in
Оба образа читают /etc/ssh/sshd_config.d/, поэтому напишите свой файл и оставьте штатный в покое. Тогда обновления перестанут перезаписывать вашу работу.
cat > /etc/ssh/sshd_config.d/10-local.conf <<EOF
PermitRootLogin prohibit-password
PasswordAuthentication no
KbdInteractiveAuthentication no
AllowUsers deploy
LoginGraceTime 20
MaxAuthTries 3
EOF
sshd -tsshd -t разбирает всю конфигурацию и ничего не печатает, когда она корректна. Перезагружайте только после того, как она это сделала:
systemctl reload ssh # Debian
systemctl reload sshd # AlmaLinuxДержите текущую сессию открытой, пока тестируете новую. Перезагрузка не разрывает существующие подключения — именно это свойство вам нужно, когда конфигурация неверна.
Смена порта — это не усиление
Перенос sshd на высокий порт уменьшает ваш журнал аутентификации. Это не меняет того, кто может добраться до демона. Если цель — меньше посторонних стуков, ограничьте исходные адреса в nftables и оставьте порт там, где его ожидает каждый ваш инструмент.
Остаток десяти минут
hostnamectl set-hostname edge-01
timedatectl set-timezone UTCЗатем — автоматические обновления безопасности, потому что вы забудете:
apt install -y unattended-upgrades
dpkg-reconfigure -plow unattended-upgradesНа AlmaLinux установите dnf-automatic, задайте apply_updates = yes в /etc/dnf/automatic.conf и включите таймер:
dnf install -y dnf-automatic
systemctl enable --now dnf-automatic.timerПосле этого — брандмауэр, обратный DNS на вашем адресе и маршрутизируемый IPv6 /64. У всех трех есть отдельные статьи в базе знаний.