Knowledgebase

Подключение к серверу с помощью SSH ключа

SSH, Secure Shell, - это зашифрованный протокол, используемый для администрирования и связи с серверами. При работе с сервером Linux вы часто можете проводить большую часть своего времени в сеансе терминала, подключенном к вашему серверу через SSH.

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

 

Шаг 1: Создание SSH ключа

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

Для этого мы можем использовать специальную утилиту под названием ssh-keygen, которая входит в стандартный набор инструментов OpenSSH. По умолчанию это создаст 3072-битную пару ключей RSA.

На локальном компьютере сгенерируйте пару ключей SSH, введя:

ssh-keygen

Утилита предложит вам выбрать местоположение для сгенерированных ключей. По умолчанию ключи будут храниться в каталоге ~/.ssh в домашнем каталоге вашего пользователя. Закрытый ключ будет называться id_rsa, а связанный с ним публичный ключ будет называться id_rsa.pub.

Обычно на данном этапе лучше всего придерживаться местоположения по умолчанию. Это позволит вашему SSH-клиенту автоматически находить ваши SSH-ключи при попытке аутентификации. Если вы хотите выбрать нестандартный путь, введите его сейчас, в противном случае нажмите ENTER, чтобы принять значение по умолчанию.

Затем вам будет предложено ввести парольную фразу для ключа. Это необязательная парольная фраза, которую можно использовать для шифрования файла закрытого ключа на диске. Фраза - это необязательное дополнение. Если вы введете его, вам придется предоставлять его каждый раз, когда вы используете этот ключ (если только вы не используете программное обеспечение SSH-агента, которое хранит расшифрованный ключ). Мы рекомендуем использовать парольную фразу, но если вы не хотите устанавливать парольную фразу, вы можете нажать ENTER, чтобы обойти эту подсказку.

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

Шаг 2: Загрузка ключа на сервер

Самый простой способ скопировать ваш публичный ключ на существующий сервер - это использовать утилиту под названием ssh-copy-id. Из-за своей простоты этот метод рекомендуется, если он доступен.

Инструмент ssh-copy-id включен в пакеты OpenSSH во многих дистрибутивах, поэтому, возможно, он уже доступен в вашей локальной системе. Чтобы этот метод работал, в настоящее время вы должны иметь SSH-доступ к вашему серверу на основе пароля.

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

Синтаксис команды:

ssh-copy-id username@remote_host

Затем утилита отсканирует вашу локальную учетную запись на наличие ключа id_rsa.pub, который мы создали ранее. Когда он найдет ключ, он запросит пароль учетной записи удаленного пользователя:
Введите пароль (ваш ввод не будет отображаться в целях безопасности) и нажмите ENTER. Утилита подключится к учетной записи на удаленном хосте, используя предоставленный вами пароль.
Затем он скопирует содержимое вашего ключа ~/.ssh/id_rsa.pub в файл в главном каталоге ~/.ssh удаленной учетной записи под названием authorized_keys. На этом этапе ваш ключ успешно загружен на сервер.

Шаг 3: Подключение к серверу

После этих действий вы можете подключиться к серверу по SSH при помощи команды:

ssh username@hostname

Ключ при подключении будет указан автоматически и вы сможете подключиться к серверу без введения root-пароля.

 

Was this answer helpful?

0 Users Found This Useful