Para migrar a un Ubutun, me gustaría exportar toda mi contraseña, a por ejemplo un archivo CSV.
En el acceso al llavero, encontré el menú de exportación, pero siempre está desactivado, incluso cuando el acceso está desbloqueado.
¿Qué debo hacer?
Para migrar a un Ubutun, me gustaría exportar toda mi contraseña, a por ejemplo un archivo CSV.
En el acceso al llavero, encontré el menú de exportación, pero siempre está desactivado, incluso cuando el acceso está desbloqueado.
¿Qué debo hacer?
Se trata de cómo Lo hice hace un montón de años, esta es esa actualización de script para Yosemite 10.11.5 - pero no lo he probado.
Un script que guarda cada elemento del Llavero en texto:
security dump-keychain -d login.keychain > keychain.txt
Un segundo elemento AppleScript que hace clic en el botón "Permitir" que el 1er scriptdesencadena al leer el elemento fuera del KeyChain.
[Editar: julio de 2016] Esto se ha actualizado a 10.11.5 nota como algunos han informado de bloqueo de su Mac con el 0. 2, he limitado el script para procesar sólo 200 resultados a la vez, por lo tanto, si usted tiene 1050 elementos de llavero, tendrá que ejecutar este script 6 veces en el ScriptEditor, también tendrá que permitir que el ScriptEditor esté habilitado en la sección de Accesibilidad en las preferencias de seguridad en :
tell application "System Events"
set maxAttemptsToClick to 200
repeat while exists (processes where name is "SecurityAgent")
if maxAttemptsToClick = 0 then exit repeat
set maxAttemptsToClick to maxAttemptsToClick - 1
tell process "SecurityAgent"
try
click button 2 of window 1
on error
keystroke " "
end try
end tell
delay 0.2
end repeat
end tell
Entonces el enlace / actualización de yosemite arriba también tiene un paso de conversión de rubí del archivo de texto a CSV, ¡Buena suerte!
ShreevatsaR señala en los comentarios que esta conversión en ruby sólo cubre las "contraseñas de internet" y no las "contraseñas de la aplicación". Esto se debe a que el objetivo del script es exportar las "contraseñas de internet" a la aplicación 1Password
.
Y aquí hay un desbordamiento de pila pregunta y respuesta en la misma línea
El System.keychain está aquí:
security dump-keychain -d /Library/Keychains/System.keychain > systemkeychain.txt
Para habilitar AppleScript para interactuar con el cuadro de diálogo las Preferencias del Sistema -> Preferencias de Seguridad y Privacidad -> Pestaña de Privacidad, Opción de Accesibilidad deben tener "script Editor.app" habilitado
Muchas gracias. Funciona bien. Sólo no sé por qué no puedo exportar mi System.keychain. Pero la mayoría de los llaveros también están en login.keychain.
Vea la actualización para esa ruta de elementos del llavero, pero podría pedir el nombre de usuario y la contraseña para cada elemento, que puede ser el Permitir script puede ser modificado para proporcionar.
Piensa. No tengo competencia en AppleScript. Tengo pocas contraseñas en este llavero, así que voy a escribir mi contraseña principal muchas veces.
A partir de OSX 10.10.3 hay una nueva forma de hacer la auto-aceptación (me encontré con problemas durante una ruta de actualización)
Las funciones de Bash (añadidas a .profile
o .bash_rc
archivos)
## At the terminal when you start getting the prompts, type `Accepts` and press enter
function Accepts () {
osascript <<EOF
tell application "System Events"
repeat while exists (processes where name is "SecurityAgent")
tell process "SecurityAgent" to click button "Allow" of window 1
delay 0.2
end repeat
end tell
EOF
}
## At the terminal when you start getting the prompts, type `Accepts YourUsername YourPassword` and press enter
function AcceptWithCreds () {
username="$1"
password="$2"
[ -z "${password}" ] && return 1
osascript 2>/dev/null <<EOF
set appName to "${username}"
set appPass to "${password}"
tell application "System Events"
repeat while exists (processes where name is "SecurityAgent")
tell process "SecurityAgent"
if exists (text field 1 of window 1) then
set value of text field 1 of window 1 to appName
set value of text field 2 of window 1 to appPass
end if
end tell
tell process "SecurityAgent" to click button "Allow" of window 1
delay 0.2
end repeat
end tell
EOF
echo 'Finished...'
}
Y utiliza este script para volcar tu llavero ( sudo ./dump.sh
)
#!/bin/bash
# Run above script in another window
security dump-keychain -d login.keychain > keychain-login.txt
security dump-keychain -d /Library/Keychains/System.keychain > keychain-system.txt
¡Esto es genial! Cuando lo ejecuté obtuve execution error: System Events got an error: osascript is not allowed assistive access.
en la línea de comandos. La forma más fácil que encontré para solucionar esto fue pegar el código AppleScript en la aplicación script Editor y ejecutarlo desde allí.
Esto me ha funcionado en OS X El Capitan 10.11.6. Asegúrate de no copiar el último carácter (backtick) del script. El osascript is not allowed assistive access
El error se puede evitar permitiendo la aplicación Terminal en Preferencias del Sistema => Seguridad y Privacidad => Accesibilidad.
La respuesta de @MichaelStoner es un buen comienzo, pero falla en OS X 10.10.3 Yosemite, con su código AppleScript informando System Events got an error: Can’t get group 1 of window 1 of process "SecurityAgent". Invalid index
.
Después de jugar un poco, la siguiente solución me ha funcionado:
tell application "System Events"
repeat while exists (processes where name is "SecurityAgent")
tell process "SecurityAgent"
keystroke " "
end tell
delay 1
end repeat
end tell
Tendrá que hacer clic en el diálogo "Permitir" después de iniciar esto. Este código tardará un poco, pero aconsejo no bajar el retraso ("delay 0.2" me hizo forzar el apagado de mi Mac). Simplemente toma una taza de café.
La función de exportación de llaveros es para los elementos, no para todo el llavero. Además, no le permite exportar la mayoría de los artículos, por lo que verá la función de exportación en gris.
Para copiar el llavero de un mac a otro utiliza Asistente de migración app.
O hágalo manualmente copiando el archivo de llaveros ubicado en la carpeta ~/Library/Keychains/.
Abrir el Acceso al llavero en el nuevo ordenador y elija File
> Add Keychain…
.
El security
binario recuperará elementos del llavero desde la línea de comandos, por lo que podría script que en Python para volcar el contenido sistemáticamente. En realidad, depende del formato en el que quieras los datos y de cómo los vayas a utilizar en el futuro.
Copiar / pegar es también una opción decente si usted sabe cuánto tiempo le importa implementar una nueva solución y si usted necesita aprender / buscar un programa existente o biblioteca que volcará el contenido a su formato elegido.
El menú de elementos de exportación es para la exportación de claves públicas y/o privadas para las que existen formatos de archivo estándar de la industria tanto para codificar como para proteger los datos según corresponda cuando se almacenan en el sistema de archivos para su intercambio y transporte. Esta función se documenta brevemente en la ayuda de Keychain Assistant.
No hay otra manera que scribirlo? Ok, voy a mirar a este binario, pero ... una necesidad tan básica, sólo para tener algo como un CSV ...
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.
0 votos
Véase también esta pregunta/respuesta: apple.stackexchange.com/a/185980/129823
1 votos
Para los elementos de iCloud en el llavero: apple.stackexchange.com/a/408952/151764