OSX ssh-agent: ¿no se pega la contraseña y tiene problemas con PKCS # 8?

37

Utilizo ssh en mi máquina y he configurado una frase de contraseña no amigable para los humanos que se guarda en mi administrador de contraseñas. Lo que me vuelve loco cada vez es que no puedo pegar en la ventana que se muestra a continuación. Conozco la opción Remember password in my keychain y la uso. Aunque a veces tengo que entrar en uno nuevo. ¿Por qué no puedo pegar en un campo de contraseña?

Lo mismo para el cuadro de diálogo que aparece al conectar discos cifrados.

Algunasactualizaciones:

  1. Descubrícómopuedosorteareldiálogo:solousossh-add-K~/.ssh/id_rsa,yluegopuedopegarlafrasedecontraseñaenelterminal.
  2. Comomencionómattmcmanus,miClaveestáincrustadausandopkcs8queserompióenelagentesshdeYosemite.Estonoestárelacionadoconelproblemaanterior,perosemeocurrióalmismotiempo(lea here ).
  3. el uso de ssh-add todavía no corrige esto para los discos encriptados.
pregunta joni 23.10.2013 - 19:16

6 respuestas

22
  1. El diálogo para ssh-agent se puede sortear agregando la clave en la consola / terminal: ssh-add ~/.ssh/id_rsa . A continuación, puede pegar la contraseña en el terminal. Además, agregar la opción -K a ssh-add la guardará en el llavero según el comentario de Oliver Lacans.
  2. Como dijo mattmcmanus, id_rsa encryption utilizando PKCS parece estar roto en OSX Mavericks ssh-agent. La solución rápida es descifrar el archivo de claves y cifrarlo nuevamente con el procedimiento estándar ssh (método de derivación de clave: MD5 ...):
mv id_rsa id_rsa.pkcs
openssl rsa -in id_rsa.pkcs -out id_rsa
# enter passphrase to decrypt
chmod 0600 id_rsa
ssh-keygen -f id_rsa -p
# enter passphrase to encrypt again
    
respondido por el joni 23.10.2013 - 20:24
2

¿Es una clave PKCS # 8 y estás en Mavericks? Si es así, eso parece estar completamente roto. Aún no estoy seguro de que haya una solución.

    
respondido por el mattmcmanus 23.10.2013 - 19:24
2

En Mac OS X El Capitán, el comando ssh-add puede hacer esto con una opción -K :

$ ssh-add -K ~/.ssh/id_rsa
Enter passphrase for /Users/your.username/.ssh/id_rsa:

Puede pegar su contraseña en este indicador con ⌘-V .

Una sesión para esto se ve así:

$ ssh-add -K ~/.ssh/id_rsa
Enter passphrase for /Users/your.username/.ssh/id_rsa:
Passphrase stored in keychain: /Users/your.username/.ssh/id_rsa
Identity added: /Users/your.username/.ssh/id_rsa (/Users/your.username/.ssh/id_rsa)

Extracto relevante de SSH-ADD (1) presentado con man ssh-add :

  

-K Al agregar identidades, cada frase de contraseña también se almacenará en su llavero. Al eliminar las identidades con -d, cada frase de contraseña se eliminará de su llavero.

NOTA INFOSEC : su contraseña no se mostrará en el shell, pero estará expuesta a todas las aplicaciones en ejecución a través del portapapeles. Una solución de autotipo sería más segura.

    
respondido por el Alain O'Dea 24.01.2016 - 17:15
1

Puede ejecutar un script como este en el Editor de AppleScript:

tell application "System Events" to tell process "SecurityAgent"
    set value of text field 2 of scroll area 1 of group 1 of window 1 to "pa55word"
    click button 2 of group 2 of window 1
end tell
    
respondido por el user495470 23.10.2013 - 20:14
1

Tuve el mismo problema. Después de encontrar esta pregunta, seguí buscando y encontré una respuesta en otra parte. Esta es una pregunta antigua, pero no tiene respuestas aceptadas y aún ocupa un lugar destacado en las listas de búsqueda. (No estoy seguro de la etiqueta de stackexchange en eso).

RE no poder copiar / pegar: aparentemente es por diseño. La intención es evitar todo acceso al campo desde el portapapeles para evitar que un programa malintencionado raspe los cuadros de contraseña. Creo que debería estar permitido pegar (y no cortar), pero tal vez haya alguna razón técnica.

Para las cosas de ssh-agent, a partir de (al menos) Yosemite, la opción -K en ssh-add -K ~/.ssh/blah hace lo que le gustaría: escriba la contraseña una vez, está almacenada en su llavero y ssh-agent se desbloqueará de forma transparente para usted. Para intentar ser más seguro, coloco mis frases de contraseña ssh en un llavero separado que se bloquea periódicamente.

    
respondido por el PerilousApricot 24.10.2015 - 19:23
0

El uso de brew openssl y openssh soluciona el problema.

brew update
brew install openssl
brew link openssl --force
brew install openssh

# confirm correct bins are being used
# both should be located in /usr/local/bin
which openssl
which openssh

# add key back to keychain
ssh-add ~/.ssh/id_rsa

No estoy seguro de si el enlace forzado openssl rompe algo en Mavricks. Hasta ahora, no he notado ningún problema.

    
respondido por el simple10 08.11.2013 - 22:36

Lea otras preguntas en las etiquetas