Zwei-Faktor-Authentifizierungscode vom Terminal erhalten?

8

Ist es möglich, meinen Apple ID-Zwei-Faktor-Authentifizierungscode über das Terminal anstelle der GUI-Eingabeaufforderung abzurufen, dh über ssh oder ein Bash-Skript?

Ich besitze keine anderen Apple-Geräte als einen kopflosen Mac mini für die iOS-Entwicklung (ich leihe einige iOS-Geräte für die Entwicklung aus, möchte diese jedoch aus offensichtlichen Gründen nicht als vertrauenswürdig markieren).

Im Moment muss ich den Remotedesktop in den Mac mini einbinden, um den 2FA-Code zu erhalten, wann immer ich ihn benötige. Ich möchte in der Lage sein, zumindest nur ssh, wenn nicht ein Bash-Skript einzurichten, um mir eine SMS zu senden, wenn ich dazu aufgefordert werde.

nratcliff
quelle
6
Suchen Sie speziell nach Apples (iCloud) 2FA oder nach einem generischen 2FA-Abrufmechanismus?
IconDaemon
@IconDaemon Ich suche speziell nach Apples 2FA. Mein Beitrag wurde aktualisiert, um dies einzuschließen.
Nratcliff
1
Der ultimative Hack: Machen Sie einen Screenshot und leiten Sie ihn über SSH.
Zenexer

Antworten:

2

Ich habe mit AppleScript eine ziemlich einfache Lösung für dieses Problem gefunden, die den 2FA-Code drucken sollte:

#! /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

Wenn Sie dies zu einer Datei hinzufügen und mit ausführbar machen, chmod +x name_of_file.scptsollte ein Skript erstellt werden, das über ssh ausgeführt werden kann, ./name_of_file.scptindem es im selben Verzeichnis wie die Datei ausgeführt wird.

Hinweis: Wenn Sie dieses Skript zum ersten Mal über ssh ausführen, sollte das folgende Popup angezeigt werden:

Geben Sie hier die Bildbeschreibung ein

Durch einfaches Klicken auf "OK" kann das Skript ordnungsgemäß ausgeführt werden. Diese Einstellung wird automatisch gespeichert und kann unter Systemeinstellungen-> Sicherheit & Datenschutz-> Datenschutz-> Barrierefreiheit geändert werden

Dies funktionierte für mich unter macOS Mojave, aber möglicherweise auch für andere Versionen.

dronenb
quelle