Отримати двофакторний код аутентифікації з терміналу?


8

Чи можливо отримати мій двофакторний код автентифікації Apple ID через термінал замість графічного запиту, тобто через ssh або bash-скрипт?

У мене немає жодних пристроїв Apple, окрім безголового Mac mini для розробки iOS (я позичаю деякі пристрої на iOS для розробки, але не хочу відзначати їх як довірених із зрозумілих причин).

Зараз я маю віддалений робочий стіл в Mac mini, щоб отримати код 2FA, коли мені це потрібно. Я хотів би мати можливість принаймні просто ssh, якби не встановити bash-скрипт, щоб надіслати мені текст, коли буде запропоновано.


6
Ви шукаєте конкретно Apple (iCloud) 2FA або загальний механізм пошуку 2FA?
IconDaemon

@IconDaemon Я спеціально шукаю 2FA Apple. Оновили свою публікацію, щоб включити її.
nratcliff

1
Кінцевий злом: зробіть скріншот і передайте його SSH.
Зенексер

Відповіді:


2

Я придумав досить просте рішення цієї проблеми за допомогою AppleScript, який повинен надрукувати код 2FA:

#! /usr/bin/env osascript tell application "System Events" if name of every process contains "FollowUpUI" then tell window 1 of process "FollowUpUI" click button "Allow" delay 2 set code to value of static text 1 of group 1 log (code) click button "Done" end tell else log ("Couldn't find 2FA window") end if end tell return

Додавши це до файлу та зробивши його виконуваним за допомогою, chmod +x name_of_file.scptслід створити сценарій, який можна запустити через ssh, виконавши ./name_of_file.scptв той же каталог, що і файл.

Примітка. Коли ви вперше запустите цей скрипт над ssh, має з’явитися таке спливаюче вікно:

введіть тут опис зображення

Просто натискання кнопки "ОК" повинно дозволити належному виконанню сценарію. Це налаштування буде автоматично збережено та може бути змінено, перейшовши в Системні налаштування-> Безпека та конфіденційність-> Конфіденційність-> Доступність

Це працювало для мене на macOS Mojave, але може працювати і в інших версіях.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.