Рубрики
Без рубрики

Создание ключей SSH в macOS Sierra

Узнайте, как быстро создать новые ключи SSH в macOS Sierra.

Автор оригинала: Matt Makai.

Для развертывания приложений Python обычно требуется Ключи SSH. Ключ SSH имеет как открытый, так и закрытый файл ключей. Вы можете использовать закрытый ключ для аутентификации при синхронизации удаленного Git репозитории, подключитесь к удаленным серверам и автоматизируйте развертывания вашего приложения через инструменты управления конфигурацией, такие как Ansible. Давайте узнаем, как сгенерировать пары ключей SSH на macOS Sierra .

Создание новых ключей

Откройте новое окно терминала в macOS, зайдя в Приложения/Утилиты. и открытие «Терминала».

Новое окно терминала macOS.

Команда ssh-keygen предоставляет интерактивный интерфейс командной строки для создание как открытого, так и закрытого ключей. Вызов ssh-keygen с помощью следующие аргументы -t и -b , чтобы гарантировать получение 4096-битного ключа RSA. Запись что вы должны использовать ключ с 2048 или более битами в macOS Sierra или система не позволит вам подключиться к серверам с его помощью.

При желании вы также можете указать свой адрес электронной почты с помощью -C (в противном случае один будет создан из вашей текущей учетной записи macOS):

ssh-keygen -t rsa -b 4096 -C [email protected]

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

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/matt/.ssh/id_rsa):

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

Если у вас уже есть ключ, укажите новое имя файла. Я использую много SSH-ключи, поэтому я часто называю их «test-deploy», «prod-deploy», «ci-server». вместе с уникальным названием проекта. Нейминг – один из тех сложных компьютеров научных проблем, поэтому потратьте некоторое время, чтобы придумать систему, которая будет работать для ты!

Затем вы увидите запрос на необязательную парольную фразу:

Enter passphrase (empty for no passphrase):

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

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

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

Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /Users/matt/.ssh/deploy_prod.
Your public key has been saved in /Users/matt/.ssh/deploy_prod.pub.
The key fingerprint is:
SHA256:UnRGH/nzYzxUFS9jjd0wOl1ScFGKgW3pU60sSxGnyHo [email protected]
The key's randomart image is:
+---[RSA 4096]----+
|        ..+o++**@|
|       . +.o*[email protected]=|
|        . oo*=B.*|
|       . .  =o=+ |
|      . S E. +oo |
|       . .  .  =.|
|              . o|
|                 |
|                 |
+----[SHA256]-----+

Ваш SSH-ключ готов к использованию!

Что теперь?

Теперь, когда у вас есть открытый и закрытый ключи, я рекомендую создать и развертывание некоторых веб-приложений Python, таких как:

  • Создание вашего первого Slack-бота
  • Отправка изображений или видео сообщений через REST API
  • Набор исходящих телефонных звонков
  • с веб-фреймворком Bottle

Дополнительные ресурсы команды ssh-keygen :

Вопросов? Свяжитесь со мной через Twitter @fullstackpython или @mattmakai . Я также на GitHub с имя пользователя mattmakai .

Что-то не так в этом посте? Вилка исходный код этой страницы на GitHub и отправьте запрос на перенос.