1. Блог
  2. Мануалы

Как подключиться к серверу по SSH: Windows, Linux, macOS

Как подключиться к серверу по SSH: Windows, Linux, macOS

SSH — основной способ управления Linux-сервером: вы получаете командную строку удалённой машины по зашифрованному каналу. Ниже — как подключиться с любой операционной системы, настроить вход по ключу и что делать, если соединение не устанавливается.

Что понадобится

После заказа виртуального сервера вы получаете письмо с данными доступа:

  • IP-адрес сервера, например 203.0.113.10;
  • логин — обычно root;
  • пароль или заранее добавленный SSH-ключ;
  • порт — по умолчанию 22.

Подключение из Linux и macOS

Клиент OpenSSH уже установлен. Откройте терминал и выполните:

ssh root@203.0.113.10

Если сервер слушает нестандартный порт, укажите его ключом -p:

ssh -p 2222 root@203.0.113.10

При первом подключении клиент покажет отпечаток ключа сервера и спросит, доверяете ли вы ему. Введите yes — отпечаток сохранится в ~/.ssh/known_hosts, и вопрос больше не появится. Затем введите пароль: символы при вводе не отображаются, это нормально.

Подключение из Windows

Встроенный клиент OpenSSH

В Windows 10 и 11 клиент SSH входит в систему. Откройте PowerShell или «Терминал» и используйте ту же команду:

ssh root@203.0.113.10

Если команда не найдена, установите компонент: Параметры → Приложения → Дополнительные компоненты → Клиент OpenSSH.

PuTTY

PuTTY удобен, если нужны сохранённые сессии или вы работаете на старой версии Windows.

  1. Скачайте PuTTY с официального сайта и запустите.
  2. В поле Host Name (or IP address) введите IP-адрес сервера, в поле Port — порт.
  3. В разделе Window → Translation выберите кодировку UTF-8, чтобы кириллица отображалась корректно.
  4. Вернитесь в Session, введите имя в Saved Sessions и нажмите Save.
  5. Нажмите Open, подтвердите отпечаток сервера и введите логин и пароль.

Вход по SSH-ключу

Ключ безопаснее пароля: его невозможно подобрать перебором, а вводить ничего не нужно.

Создайте пару ключей на своём компьютере (команда одинакова для Linux, macOS и Windows):

ssh-keygen -t ed25519 -C "my-laptop"

Скопируйте публичный ключ на сервер. В Linux и macOS:

ssh-copy-id root@203.0.113.10

В Windows команды ssh-copy-id нет, используйте PowerShell:

type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh root@203.0.113.10 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

Проверьте, что вход по ключу работает, и только после этого отключите вход по паролю. Для этого в файле /etc/ssh/sshd_config на сервере укажите:

PasswordAuthentication no

и перезапустите службу:

systemctl restart ssh

Короткие имена серверов

Чтобы не вводить адрес, порт и логин каждый раз, опишите сервер в файле ~/.ssh/config:

Host web
    HostName 203.0.113.10
    User root
    Port 2222
    IdentityFile ~/.ssh/id_ed25519

Теперь достаточно команды ssh web. Эти же имена понимают scp, rsync и sshfs.

Частые ошибки

Сообщение Причина и решение
Connection refused Служба SSH не запущена или указан неверный порт. Проверьте порт и состояние сервера в панели управления.
Connection timed out Сервер выключен, неверный IP или порт закрыт файрволом.
Permission denied Неверный логин, пароль или ключ. Вход для root по паролю может быть запрещён в sshd_config.
REMOTE HOST IDENTIFICATION HAS CHANGED Сервер переустановлен, и его ключ изменился. Удалите старую запись: ssh-keygen -R 203.0.113.10.

Подробности о причине отказа покажет режим отладки: ssh -v root@203.0.113.10.

Что настроить после первого входа

Сервер с открытым портом 22 начинают сканировать боты уже в первые минуты. Минимальный набор защиты: