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.
terminal
bash
two-factor-authentication
nratcliff
źródło
źródło
Odpowiedzi:
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.scpt
powinno stworzyć skrypt, który można uruchomić przez ssh, wykonując go./name_of_file.scpt
w tym samym katalogu co plik.Uwaga: Po pierwszym uruchomieniu tego skryptu na ssh powinno pojawić się następujące okienko wyskakujące:
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.
źródło