Разработчик Нико Маттиа рассказал, как настроить SSH-аутентификацию на Mac с помощью Touch ID всего за три команды.
Для этого не нужны обычные файлы с приватными ключами. Они создаются и хранятся в защищенном модуле Secure Enclave, встроенном в современные компьютеры Apple.
Такой способ можно использовать не только для подключения к удаленным серверам, но и для работы с GitHub через SSH. При каждой попытке аутентификации система запросит подтверждение через Touch ID, а приватный ключ нельзя будет извлечь из защищенного хранилища.
Читают прямо сейчас:
SSH-подключение: что это и как использовать — как SSH использует ключи вместо паролей и почему хранение приватного ключа в файле — слабое место, которое закрывает Secure Enclave
Что такое асимметричное шифрование — как работает пара ключей и почему публичный ключ можно безопасно передавать кому угодно, а приватный — нельзя извлечь
Как клонировать репозиторий на GitHub: пошаговое руководство — как зарегистрировать публичный ключ на GitHub и проверить SSH-соединение командой ssh -T git@github.com
Как настроить SSH за три команды
Сначала нужно создать криптографическую идентичность в Secure Enclave. Для этого в терминале выполняют команду:
sc_auth create-ctk-identity -l ssh-key -k p-256-ne -t bio
Параметр bio включает биометрическую защиту, а p-256-ne указывает на тип ключа, который нельзя извлечь из Secure Enclave.
Затем следует подключить эту идентичность к SSH-агенту:
ssh-add -K -S /usr/lib/ssh-keychain.dylib
После перезагрузки Mac, эту команду потребуется выполнить снова. Если система запросит PIN, автор предлагает оставить поле пустым и нажать Enter.
Наконец, чтобы получить открытый ключ для регистрации на GitHub или другом сервере, нужно выполнить:
ssh-add -L
Если в списке несколько ключей, следует выбрать строку, начинающуюся с sk-ecdsa-sha2-nistp256. Открытый ключ можно передавать другим: он не позволяет восстановить приватную часть.
Чем этот способ отличается от обычного SSH
При стандартной настройке SSH приватный ключ обычно хранится в файле на диске. В варианте с Secure Enclave он остается внутри защищенного модуля, который выполняет криптографические операции, не раскрывая сам ключ.
Когда сервер запрашивает подтверждение личности, система предлагает приложить палец к Touch ID.
Это снижает риск кражи ключа даже в случае, если злоумышленник получит доступ к файлам на компьютере. Но защита не универсальна: доступ к разблокированному Mac и другим учетным данным по-прежнему нужно контролировать.
Есть и важный нюанс — если Mac выйдет из строя, перенести такую идентичность на другой компьютер не получится. Придется создать новый ключ и заново зарегистрировать его на GitHub и других сервисах.
Скидка на все курсы Практикума
Раз вы дочитали эту новость до конца, с технологиями у вас всё в порядке. А если давно присматривались к разработке, аналитике, нейросетям, тестированию или кибербезопасности, сейчас туда можно зайти дешевле.
Промокод KOD (можно просто нажать) даст скидку на любой платный курс! А если пока не готовы покупать курс, у Практикума есть бесплатные вводные части.
