HeadlinesBriefing HeadlinesBriefing.com

Настройка SSH-ключей на macOS с Touch ID: руководство

Hacker News •
×

В первой части этой публикации автор показывает простой и безопасный способ создать SSH-ключ на Mac в три команды с поддержкой GitHub. Вторая часть объясняет, что происходит за кулисами, для любознательных читателей.

В Mac есть встроенный Secure Enclave, где можно создавать идентификаторы, которые очень трудно украсть. Эти идентификаторы защищены Touch ID и могут использоваться для аутентификации SSH. По сравнению с традиционными файлами SSH-ключей у этого подхода есть несколько преимуществ. Материал закрытого ключа нельзя извлечь или показать, поэтому его нельзя украсть. Пользователю выводится запрос каждый раз, когда используется идентификатор. Также нет файлов ключей вроде ~/.ssh/id_ed25519, загромождающих файловую систему, и нет риска случайно их удалить. Эта защита действует всякий раз, когда используется SSH, включая git через SSH с GitHub.

Быстрая настройка состоит из трех шагов. Сначала создайте идентификатор с помощью команды sc_auth и подтвердите его через Touch ID. Затем запустите ssh-add с библиотекой ssh-keychain.dylib, чтобы сообщить SSH, что нужно использовать этот идентификатор, оставив запрос PIN-кода пустым. После перезагрузки SSH забывает эту настройку, поэтому ее нужно запустить снова. Наконец, выполните ssh-add -L, чтобы вывести открытый ключ, и добавьте его в GitHub. Строки, начинающиеся с sk-ecdsa-sha2-nistp256, определяют нужный ключ, если выведено несколько.

После настройки такие операции, как git push, вызывают запрос Touch ID. Закрытый ключ нельзя передать, но если Mac будет утерян или выйдет из строя, идентификатор тоже будет потерян, и придется создать новый и заново зарегистрировать его в таких сервисах, как GitHub.

Источник: Hacker News · Сводку подготовил HeadlinesBriefing