Разбираемся, как подключиться по SSH в Linux, MacOS и Windows. Рассмотрим два способа: с использованием пароля и без него (при помощи SSH-ключей).

Что нужно для подключения к серверу по SSH

Для подключения по SSH понадобятся такие данные:

  • имя пользователя и пароль;
  • IP-адрес или хостнейм сервера;
  • порт (по умолчанию 22, у нас на виртуальном хостинге — 21098, у других провайдеров может быть другой).

Обычно эту информацию можно найти в письме об активации хостинга.

Подключение по SSH в панели управления хостингом

Этот самый простой и ленивый способ, потому что для него не нужно даже знать детали подключения к серверу. Он подойдёт, если доступ по SSH нужен редко или понадобился внезапно, а вы не помните пароль. 

Приложение для SSH-доступа к серверу есть в большинстве панелей. У себя на виртуальном хостинге мы используем cPanel, попасть в неё можно из личного кабинета. Там на главной странице в секции «Расширенный» есть приложение «Terminal».

Как зайти на сервер через консоль в панели управления хостингом

Подключение по SSH в Linux или MacOS

Это можно сделать во встроенном в систему приложении «Терминал» или установить сторонний SSH-клиент. Несколько примеров:

Для подключения используйте такую команду:

ssh имя_пользователя@адрес_сервера -p порт

Если вы впервые подключаетесь по SSH к этому серверу, программа скажет «я пока что не знаю этот сервер, вы точно хотите подключиться?». Введите yes и нажмите Enter.

SSH-доступ к серверу через терминал

Далее SSH-клиент попросит ввести пароль. Символы при введении пароля как правило не отображаются по соображениями безопасности.

Подключение к серверу по SSH — Mac

После этого в командной строке изменится идентификатор пользователя. Это значит, что вас подключило.

Подключение по SSH Linux

Сообщение «Permission denied» или «Connection refused» означает, что подключиться не удалось. Возможно, вы неправильно ввели пароль или используете неправильный порт. Либо подключение по SSH запрещено в параметрах сервера.

SSH connect refused — подключение не удалось

Чтобы прервать SSH-подключение с сервером, используйте команду:

exit

Подключение по SSH в Windows

Раньше, чтобы подключиться к серверу через SSH в Windows, нужно было использовать SSH-клиент по типу PuTTy, Zoc, MobaXterm или Termius. Начиная с Windows 10, в системе есть встроенный набор программ OpenSSH (такой же как в Linux с MacOS).

В Windows 11 OpenSSH активирован по умолчанию, в Windows 10 может понадобиться активировать вручную. Это можно сделать в меню «Пуск», раздел «Параметры – Приложения», подраздел «Управление дополнительными компонентами».

По умолчанию OpenSSH в Windows не активирован. Чтобы активировать, откройте в меню «Пуск», раздел «Параметры – Приложения», подраздел «Управление дополнительными компонентами».

Чтобы открыть консоль и подключиться к серверу по SSH, откройте приложение «Выполнить» (нажмите комбинацию клавиш «Win+R»), введите в строке команду cmd и нажмите Enter.

Консоль SSH в Windows

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

ssh имя_пользователя@адрес_сервера -p порт

Введите yes, если консоль спрашивает «Are you sure you want to continue connecting (yes/no)?». Это добавит сервер в список тех, которым можно доверять.

SSH консоль в Windows

Затем введите пароль от аккаунта. Помните, что в целях безопасности символы вводятся, но при этом не отображаются.

Доступ к серверу по SSH — Как подключиться в Windows

После этого вас должно подключить к серверу, что будет заметно по идентификатору пользователя (перед строкой для выполнения команд).

Как через консоль подключиться к серверу

Чтобы отключиться от сервера, используйте такую команду (ну или закройте консоль):

exit

Подключение по SSH без пароля

Для этого используют аутентификацию с помощью SSH-ключей: приватного и публичного. Приватный ключ зашифровывает сообщения, хранится на вашем компьютере. Публичный ключ расшифровывает сообщения, хранится на сервере.

Когда вы пытаетесь подключиться через SSH с помощью ключей, сервер отправляет на ваш компьютер случайное сообщение, ваш компьютер зашифровывает его закрытым ключом и отправляет назад. Если у сервера получается расшифровать сообщение открытым ключом, авторизация считается успешной.

Чтобы всё это настроить, нужно: 1) сгенерировать SSH-ключи в консоли; 2) загрузить публичный ключ на удалённый сервер; 3) отключить авторизацию по паролю в настройках службы SSH.

Шаг 1. Сгенерируйте SSH-ключ

Это делается при помощи команды ssh-keygen:

ssh-keygen
Как сгенерировать SSH-ключи в консоли

Сначала утилита предложит ввести имя файла, в который нужно сохранить ключ (фраза «Enter file in which to save the key»). Чтобы всё работало, лучше оставить имя по умолчанию. Для этого просто нажмите Enter.

Затем утилита попросит придумать passphrase (кодовую фразу). Это пароль, который нужно будет вводить каждый раз при входе и выполнении некоторых действий. Если не хотите использовать passphrase, просто нажмите Enter.

Последний шаг — утилита попросит повторить passphrase. Если на предыдущем шаге ничего не вводили, снова нажмите Enter. После этого утилита завершит процесс и покажет случайную картинку из символов. Это значит, что всё готово.

Ключи хранятся в папке /home/username/.ssh/. По умолчанию секретный ключ называется id_rsa, а публичный — id_rsa.pub.

Шаг 2. Загрузите публичный ключ на сервер

Это можно сделать при помощи команды ssh-copy-id:

ssh-copy-id -p порт имя_пользователя@адрес_сервера
Как загрузить SSH-ключи на сервер в консоли

Понадобится ввести пароль от сервера, после чего утилита сама возьмёт содержимое файла id_rsa.pub и сохранит его по стандартному пути: ~/.ssh/authorized_keys. После этого можно будет подключаться по SSH без пароля.

Если вдруг не получается загрузить ключ при помощи команды выше, попробуйте сделать это в панели управления хостингом. Вот инструкция, как сделать это в cPanel:

Как пользоваться диспетчером файлов cPanel

Шаг 3. Отключите авторизацию по паролю

Не сработает на виртуальном хостинге (только на VPS или выделенном сервере).

Это дополнительно усилит безопасность системы, но в случае потери приватного ключа вы не сможете попасть на сервер. Придётся заходить на сервер через панель управления хостингом, либо обращаться в поддержку, чтобы сбросили настройки SSH.

Откройте конфигурационный файл службы SSH:

nano /etc/ssh/sshd_config

Найдите директиву PasswordAuthentication и установите её значение на «no». Затем сохраните изменения — сначала нажмите Ctrl+X, потом Y.

Как подключиться к серверу через консоль без пароля

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

sudo service ssh restart

Что дальше

Если вдруг есть замечания по статье, что-то не получается или есть дополнительные вопросы — оставьте комментарий чуть ниже, постараемся всем помочь.

Была ли статья полезной?

Спасибо за отзыв!