Как создать SSH-ключи с помощью OpenSSH на MacOS или Linux ⋆ ALexHost SRL

Проверьте свои навыки на всех наших услугах хостинга и получите скидку 15%!.

Используйте код при регистрации:

Skills
20.01.2025
No categories

Как создать SSH-ключи с помощью OpenSSH на MacOS или Linux

В мире безопасных удаленных коммуникаций SSH (Secure Shell) является одним из наиболее часто используемых протоколов для подключения к удаленным серверам. SSH обеспечивает безопасный метод входа на удаленные машины и выполнения команд по сети. Одним из самых надежных способов аутентификации с помощью SSH являются SSH-ключи, которые позволяют выполнять аутентификацию без пароля и добавляют дополнительный уровень безопасности. Ключи SSH состоят из пар: закрытый ключ и открытый ключ. В этой статье мы рассмотрим шаги по созданию SSH-ключей с помощью OpenSSH на macOS или Linux.

Что такое ключи SSH?

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

Зачем использовать ключи SSH?

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

Необходимые условия

Чтобы следовать этому руководству, вам понадобятся:

  1. Компьютер с macOS или Linux с установленным OpenSSH (OpenSSH включен по умолчанию на обеих платформах).
  2. Доступ к удаленному серверу, на котором вы разместите открытый ключ.

Пошаговое руководство по созданию ключей SSH

Шаг 1: Откройте терминал

В macOS и Linux приложение Терминал служит интерфейсом для выполнения команд командной строки. Откройте Терминал, выполнив следующие действия:

  • macOS: найдите “Терминал” в Spotlight (нажмите Cmd Space) или найдите его в разделе Приложения > Утилиты.
  • Linux: Нажмите Ctrl Alt T или найдите Terminal в меню приложений.

Шаг 2: Сгенерируйте пару ключей SSH

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

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

Пояснения к опциям:

  • t rsa: Указывает тип создаваемого ключа. RSA – один из наиболее часто используемых алгоритмов.
  • b 4096: Устанавливает длину ключа в 4096 бит для повышения безопасности.
  • C “your_email@example.com”: Добавляет комментарий к ключу, обычно используемый для идентификации ключа. Замените его своим электронным адресом или описательным именем.

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

Генерация пары открытых/закрытых ключей rsa.
Укажите файл, в котором будет сохранен ключ (/home/yourusername/.ssh/id_rsa):

Шаг 3: Выбор местоположения файла (необязательно)

По умолчанию ключ будет сохранен в каталоге .ssh в вашей домашней папке как id_rsa (закрытый ключ) и id_rsa.pub (открытый ключ). Нажмите Enter, чтобы подтвердить расположение по умолчанию, или вы можете указать другой путь.

Пример:

Введите файл, в котором будет сохранен ключ (/Users/yourusername/.ssh/id_rsa): [Нажмите Enter]

Шаг 4: Задайте ключевую фразу (необязательно, но рекомендуется)

Далее вам будет предложено задать кодовую фразу для вашего ключа:

Введите кодовую фразу (пустой вариант - без кодовой фразы):

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

Если вы все же зададите кодовую фразу, убедитесь, что ее можно запомнить или надежно хранить.

Шаг 5: Подтвердите создание пары ключей

После выполнения этих шагов вы увидите результат, похожий на следующий:

Это означает, что закрытый ключ (id_rsa) и открытый ключ (id_rsa.pub) были успешно созданы и сохранены в каталоге .ssh.

Шаг 6: Скопируйте открытый ключ на сервер

Теперь, когда вы сгенерировали пару ключей SSH, вам нужно скопировать открытый ключ на удаленный сервер, на котором вы хотите войти в систему.

Для автоматизации этого процесса можно использовать команду ssh-copy-id:

ssh-copy-id user@your-server.com

Замените user@your-server.com своим реальным именем пользователя и адресом сервера. Вам будет предложено ввести пароль для удаленного сервера.

Также, если ssh-copy-id недоступен, вы можете вручную скопировать открытый ключ:

  1. Проверьте содержимое открытого ключа, выполнив команду:
    cat ~/.ssh/id_rsa.pub
  2. Скопируйте полученный результат и вставьте его в файл.ssh/authorized_keys на удаленном сервере. Это можно сделать, войдя на сервер:
    ssh user@your-server.com

    Затем создайте каталог .ssh (если он не существует) и добавьте ключ:

    mkdir -p ~/.ssh
    echo "your-copied-public-key" >> ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys

Шаг 7: Проверьте SSH-соединение

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

ssh user@your-server.com

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

Управление ключами SSH

  • Перечислите все ключи: Если у вас несколько ключей, вы можете перечислить их, перейдя в каталог .ssh:
    ls ~/.ssh
  • Добавить ключи в SSH-агент: Если вы хотите избежать повторного ввода парольной фразы, вы можете добавить свой ключ в SSH-агент:
    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_rsa

Заключение

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

Проверьте свои навыки на всех наших услугах хостинга и получите скидку 15%!.

Используйте код при регистрации:

Skills