8 votos

¿Obtener el código de autenticación de dos factores del terminal?

¿Es posible recuperar el código de autenticación de dos factores de mi ID de Apple a través de la terminal en lugar de la interfaz gráfica de usuario, es decir, a través de ssh o un bash script?

No poseo ningún dispositivo de Apple aparte de un Mac mini sin cabeza para el desarrollo de iOS (estoy prestando algunos dispositivos iOS para el desarrollo, pero no quiero marcarlos como de confianza, por razones obvias).

Ahora mismo, tengo que hacer un escritorio remoto en el Mac mini para obtener el código 2FA cuando lo necesito. Me gustaría ser capaz de al menos sólo ssh, si no configurar un bash script para enviarme un mensaje de texto cuando se le solicite.

4voto

Neek Puntos 1384

Se me ocurrió una solución bastante simple para este problema usando AppleScript que debería imprimir el código 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

Añadiendo esto a un archivo y haciéndolo ejecutable mediante chmod +x name_of_file.scpt debe crear un script que pueda ser ejecutado sobre ssh ejecutando ./name_of_file.scpt mientras esté en el mismo directorio que el archivo.

Nota: Cuando ejecute este script sobre ssh por primera vez, debería aparecer la siguiente ventana emergente:

enter image description here

Simplemente haciendo clic en "Aceptar" debería permitir que el script</strkeep><strkeep> se ejecute correctamente. Esta preferencia se guardará automáticamente, y puede ser modificada entrando en Preferencias del Sistema->Seguridad y Privacidad->Privacidad->Accesibilidad

A mí me ha funcionado en macOS Mojave, pero es posible que también funcione en otras versiones.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X