Может ли Touch ID разблокировать личный ключ SSH?

15

Можно ли использовать сканер отпечатков пальцев Touch ID для разблокировки моего ключа SSH?

У меня есть MacBook Pro с сенсорной панелью, и у меня есть традиционная текстовая фраза для моего ключа SSH прямо сейчас.

Я заметил, что я не получаю системное диалоговое окно с запросом моей парольной фразы 10 декабря, так что это, вероятно, не вещь, но если бы я мог сделать это, это было бы ИЗУМИТЕЛЬНО.

Nate
источник

Ответы:

14

Обновление :

Один из вариантов - добавить свой личный SSH-ключ в связку ключей MacOS, а затем использовать TouchID для аутентификации в связке ключей. Вы захотите использовать ssh-add -K ~/.ssh/[your-private-key]- однако в macOS 10.12 Sierra эту функцию необходимо включить, отредактировав редактирование ~/.ssh/configи добавив:

Host * (asterisk for all hosts or add specific host)
   AddKeysToAgent yes
   UseKeychain yes
   IdentityFile <key> (e.g. ~/.ssh/userKey)

Для подробностей читайте:

  1. Постоянно добавьте свой закрытый ключ в связку ключей, чтобы он автоматически был доступен для SSH
  2. Сохранение ключей SSH в цепочке ключей MacOS Sierra

Оригинал :

В настоящее время разблокировка TouchID SSH-ключа недоступна для macOS.

  1. Проект XCode sudo-touchid демонстрирует, как создать приложение командной строки с поддержкой TouchID, которое переключается на диалоговое окно с паролем. Он работает на MacBook Pro 2016 года с сенсорной панелью. Тем не менее, это для sudo, а не SSH. Это указывает на то, что идея технически осуществима.
  2. Prompt 2 SSH - клиент поддерживает TouchID - для прошивки, не MacOS. Это указывает на то, что сопоставимые приложения могут стать доступными от коммерческих разработчиков.
  3. Один онлайн-разработчик запустил проект ssh touchid wrapper несколько месяцев назад - хотя это пустая заглушка проекта. Это указывает на то, что другие могут задавать похожий вопрос на ваш.
JeremyDouglass
источник
3
Можете ли вы уточнить «затем использовать Touch ID для аутентификации в брелке»? Если я буду следовать вашим шагам, меня вообще не попросят пройти аутентификацию.
mniess
2

Теперь можно использовать Sekey , агент SSH, который позволяет пользователям проходить аутентификацию на SSH-серверах UNIX / Linux с использованием Secure Enclave.

Дуглас Соарес де Андраде
источник
0

Это несколько касательно моего первоначального вопроса, но я недавно использовал и очень похож на Krypton , который дает мне что-то похожее на разблокировку TouchID. Это решение хранит ключ SSH в безопасном анклаве моего телефона, и мой компьютер и телефон договариваются по Bluetooth, когда я использую ключ. Я получаю всплывающее окно подтверждения по телефону и отвечаю после разблокировки .

Так! Я могу сделать что-то, что работает аналогично, но (я думаю) немного более безопасно, чем хранить ключ на моем ноутбуке (даже с парольной фразой), гораздо лучше, чем оставлять его расшифрованным в моей цепочке для ключей, и очень удобно для загрузки.

Он также работает как второй фактор U2F для веб-сервисов, используя плагин для браузера.

Nate
источник
-2

Вы можете легко написать оболочку для перевода вызовов touchid в ssh и обратно. Еще больше переведите возможное совпадение в последовательность дальностей (подумайте близко, но неполное рисование) - никакой магии нет. Я использовал камеру для этого раньше, когда Touchid казался трикодером из Star Trek :-)

Попробуйте сделать такое приложение самостоятельно, хорошая мотивация для изучения Swift! Apple имеет хорошие документы по всем своим SDK, так что после первоначальной боли Xcode вы можете сделать это за несколько дней.

Похоже, хорошая идея использовать подвиг. даже когда все расскажут вам о возможных миллиардах возможных угроз безопасности (как и многие другие). Однако вам потребуется учетная запись разработчика (99 $ / год ...), поскольку самоподписанные приложения не могут получить доступ ко всем функциональным возможностям SDK macOS, touchID (возможно) недоступен без подписи.

PJJ
источник