Как использовать SSH-Keygen для создания ключа SSH на Mac

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

В различных ситуациях, включая удаленный доступ к серверу или добавление безопасности на платформу хостинга Git, может потребоваться сгенерировать собственный ключ. Учетные данные для доступа стали важной частью онлайн-безопасности, а macOS и приложение Terminal упрощают создание SSH-ключа. Давайте посмотрим на процесс.

Как сгенерировать SSH-ключ с помощью SSH-Keygen

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

Связано: что такое SSH и для чего он нужен?

Шаги для создания ключа SSH в macOS следующие:

Запустите Терминал из Приложения> Утилиты или выполнив поиск в центре внимания. Введите команду ssh-keygen с желаемыми параметрами.

Мы обсудим варианты позже, но вот пример того, как должна выглядеть типичная команда ssh-keygen:

 ssh-keygen -t ecdsa -b 521

Требуемый алгоритм следует за командой -t , а требуемая длина ключа идет после ввода -b . Если вы исключите -b , ssh-keygen будет использовать количество битов по умолчанию для выбранного вами типа ключа. Надежный алгоритм шифрования с ключом хорошего размера будет наиболее эффективным для защиты ваших данных .

Нажмите Enter, чтобы начать процесс генерации. Снова нажмите ENTER, чтобы принять расположение файла по умолчанию. Вы можете изменить это при необходимости, но, как правило, вы хотите хранить свои ключи в предложенной папке.

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

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

macOS хранит оба ключа в каталоге ~ / .ssh / . Один файл содержит ваш открытый SSH-ключ, а другой – вашу частную версию, которой вы никогда не должны никому делиться.

Если Терминал вам не нравится, существует несколько других SSH-клиентов Mac , поэтому вы можете выбрать вариант, который лучше всего соответствует вашим потребностям.

Скопируйте SSH-ключ, чтобы добавить его на хостинговые платформы Git и другие места

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

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

  1. Запустите Терминал .
  2. Введите команду pbcopy < с правильным путем к файлу, например:
     pbcopy <~ / .ssh / id_ecdsa.pub
  3. Нажмите Enter , и ваш открытый ключ скопируется в буфер обмена.

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

Различные типы и размеры ключей SSH

Команда ssh-keygen позволяет создавать ключи нескольких типов и размеров с использованием различных алгоритмов. Во-первых, вы должны подтвердить, какой вариант ваша хостинговая платформа, услуга или другая сторона рекомендует, прежде чем создавать свои учетные данные для доступа.

Мы перечислим здесь наиболее распространенные типы ключей SSH и объясним характеристики каждого из них:

  • RSA: широко поддерживаемый алгоритм, RSA – отличный выбор для многих ситуаций. Длина – это сила, и вы захотите создать ключ из 2048 или 4096 бит, причем первого будет достаточно, а второго – идеальным.
  • ECDSA: новый алгоритм, ECDSA, обеспечивает такой же уровень безопасности, что и RSA, но с более короткими ключами, что обеспечивает более быструю работу. Поддерживаемые размеры ключей: 256, 384 и 521 бит.
  • Ed25519: новый алгоритм Ed25519 улучшает безопасность и производительность предыдущих типов ключей. Сама Apple использует этот метод аутентификации в некоторых случаях, в том числе при обмене данными между определенными устройствами. Ключи имеют длину всего 256 бит, но при этом обеспечивают высокий уровень безопасности.

Связано: Общие типы шифрования и почему не стоит делать свое собственное

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

Полезные команды при создании ключа SSH на Mac

Мы обсудили основные компоненты команды ssh-keygen; однако в некоторых случаях вы можете захотеть выполнить другие функции. Здесь мы перечислим некоторые соответствующие команды и их использование:

  • -t: используйте эту команду для ввода алгоритма, который вы хотите использовать. RSA, ECDSA и Ed25519 – распространенные и жизнеспособные варианты.
  • -b: укажите длину ключа, указав количество используемых битов. Перед вводом команды -b всегда проверяйте требования выбранного алгоритма, так как действуют некоторые ограничения.
  • -p: вы можете изменить парольную фразу вашего ключа с помощью команды -p . Просто включите -p с ssh-keygen , и Терминал запросит местоположение файла. Введите путь к соответствующему ключу и при появлении запроса создайте новую парольную фразу.
  • -f: используйте команду -f, чтобы направить ssh-keygen в определенное расположение файла.
  • -C: команда -C добавляет комментарий к вашему ключу, что является полезным методом маркировки.

Кроме того, команда ls выведет список всех ключей SSH, хранящихся в каталоге по умолчанию:

 ls -al ~ / .ssh 

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

 rm ~ / .ssh / id_ecdsa

а также

 rm ~ / .ssh / id_ecdsa.pub

Наконец, чтобы получить доступ к полному списку команд, следующий ввод отобразит все доступные параметры вместе с дополнительной информацией:

 человек ssh-keygen 

macOS упрощает создание ключей SSH

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

Обычно используются алгоритмы RSA, ECDSA и Ed25519, и каждый тип имеет свои собственные спецификации и используемые длины ключей. Во время создания вы можете указать эти детали и ввести другие инструкции, используя правильные команды. После этого вы можете продолжать использовать Терминал для копирования, изменения и удаления сохраненных ключей.

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