Как подключиться к новому облачному серверу по SSH
Сервер работает, в панели видны IP-адрес, логин и пароль, и теперь надо попасть внутрь. Вот это самое первое подключение и несколько вещей, которые стоит сделать до того, как вы что-нибудь установите.
Что даёт панель
Откройте сервер в панели управления и посмотрите на блок Access. Там лежит всё нужное: IP-адрес, Login и Password. Рядом две кнопки. Generate new password создаёт новый случайный пароль, Set new password принимает тот, который выберете вы. Обе работают на запущенном сервере, так что воспользуйтесь ими, если пароль давно лежит в каком-нибудь чате.
Первое подключение
На macOS и на любом Linux SSH уже установлен. В Windows он входит в систему начиная с Windows 10 и Windows Server 2019, поэтому та же команда работает в PowerShell без установки PuTTY:
ssh root@203.0.113.10
В первый раз SSH покажет отпечаток ключа и спросит, продолжать ли. Это не формальность: так SSH сообщает, что никогда не видел этот хост и не может за него поручиться. На только что созданном сервере отвечайте yes. Ключ сохранится в ~/.ssh/known_hosts, и для этого адреса вопрос больше не появится.
Перейдите на ключи, а потом закройте дверь
Пароли переиспользуют, вводят не в то окно и вставляют в тикеты. С ключами так не выходит. Создайте ключ на своей машине, а не на сервере:
ssh-keygen -t ed25519 -C "you@example.com"
ssh-copy-id root@203.0.113.10
Затем убедитесь, что вход по ключу работает, во втором окне терминала, прежде чем что-то менять. Первое не закрывайте. Если новая настройка окажется неверной, именно эта открытая сессия и понадобится, чтобы её откатить.
Как только второе окно заходит без пароля, отредактируйте /etc/ssh/sshd_config:
PasswordAuthentication no
PermitRootLogin prohibit-password
и перезагрузите службу: systemctl reload ssh в Debian и Ubuntu либо systemctl reload sshd в AlmaLinux и Rocky.
Четыре ошибки, которые встречаются на самом деле
| Что вы видите | Что это значит | Что делать |
|---|---|---|
Permission denied (publickey) |
Сервер больше не принимает пароли, а вашего ключа у него нет | Откройте KVM-консоль и проверьте ~/.ssh/authorized_keys и sshd_config |
Connection refused |
Кто-то ответил: хост работает, но на порту 22 никто не слушает | Консоль, затем systemctl status ssh - служба остановлена или переехала на другой порт |
Connection timed out |
Не ответил никто: пакеты отбрасывает файрвол, адрес не тот или сервер выключен | Проверьте состояние питания в панели, потом свои правила файрвола |
REMOTE HOST IDENTIFICATION HAS CHANGED |
Ключ хоста отличается от сохранённого | Нормально после переустановки ОС или восстановления из снимка. Уберите старую запись: ssh-keygen -R 203.0.113.10 |
Самое полезное различие - в двух средних строках. Refused означает, что сервер доступен и дело в службе. Timed out означает, что на ваши пакеты никто не ответил, то есть проблема между вами и сервером.
Консоль - это путь обратно
Любая ошибка из этой статьи лишает вас доступа по SSH и ни одна не лишает доступа к серверу. В панели есть KVM-консоль, то есть экран и клавиатура, подключённые прямо к виртуальной машине, и текстовая консоль для систем, которые её поддерживают. Ни одна из них не идёт через SSH, поэтому сломанный sshd_config, правило файрвола, отрезавшее ваш собственный адрес, или удалённый ключ чинятся примерно за минуту.
Об этом стоит знать заранее, потому что это меняет представление о риске. Остаться снаружи здесь - неудобство, а не авария.
Первые десять минут
- Обновите систему -
apt update && apt upgradeилиdnf upgrade, прежде чем на диск попадёт что-то ещё - Заведите пользователя и перестаньте работать под root -
adduser you, добавьте его в sudo или wheel и дальше заходите им - Задайте имя хоста и проверьте часы -
hostnamectl set-hostname web-01, потомtimedatectl, потому что неверное время ломает сертификаты и журналы - Включите автоматические обновления безопасности -
unattended-upgradesв Debian и Ubuntu,dnf-automaticв остальных - Сделайте снимок - до первой установки, а не после того, как всё сломается
Итог
Первое подключение - это одна команда. Замедлиться стоит на переходе к ключам, и правило, которое делает его безопасным, простое: не закрывайте рабочую сессию, пока новая не докажет свою работоспособность. Если всё-таки пошло не так, консоль в панели никуда не делась.
Облачные серверы в Чехии и Португалии, от EUR 15/мес, с консолью и сбросом пароля на каждом: dcxv.com/data-center#cloud
