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