Otrzymasz dwuskładnikowy kod uwierzytelniający z terminala?

8

Czy możliwe jest odzyskanie mojego dwuskładnikowego kodu uwierzytelniającego Apple ID za pośrednictwem terminala zamiast wiersza graficznego interfejsu użytkownika, tj. Poprzez ssh lub skrypt bash?

Nie posiadam żadnych urządzeń Apple innych niż bezgłowy Mac mini do programowania na iOS (pożyczam niektóre urządzenia iOS na rozwój, ale z oczywistych powodów nie chcę oznaczać ich jako zaufanych).

W tej chwili muszę zdalnie podłączyć komputer do komputera Mac mini, aby uzyskać kod 2FA, gdy tylko będę go potrzebować. Chciałbym móc przynajmniej po prostu ssh, jeśli nie, skonfiguruj skrypt bash, aby wysyłał mi SMS-y po wyświetleniu monitu.

nratcliff
źródło
6
Szukasz konkretnie 2FA firmy Apple (iCloud), czy ogólnego mechanizmu pobierania 2FA?
IconDaemon
@IconDaemon Szukam konkretnie 2FA firmy Apple. Zaktualizowałem mój post, aby to uwzględnić.
nratcliff
1
Najlepszy hack: zrób zrzut ekranu i prześlij go przez SSH.
Zenexer

Odpowiedzi:

2

Wymyśliłem dość proste rozwiązanie tego problemu za pomocą AppleScript, który powinien wydrukować kod 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

Dodanie tego do pliku i uczynienie go wykonywalnym przy użyciu chmod +x name_of_file.scptpowinno stworzyć skrypt, który można uruchomić przez ssh, wykonując go ./name_of_file.scptw tym samym katalogu co plik.

Uwaga: Po pierwszym uruchomieniu tego skryptu na ssh powinno pojawić się następujące okienko wyskakujące:

wprowadź opis zdjęcia tutaj

Wystarczy kliknąć „OK”, aby skrypt działał poprawnie. Ta preferencja zostanie automatycznie zapisana i można ją zmienić, przechodząc do Preferencji systemowych-> Bezpieczeństwo i prywatność-> Prywatność-> Dostępność

To działało dla mnie na macOS Mojave, ale może działać również na innych wersjach.

dronenb
źródło