37 votos

OSX ssh-agent: ¿no se puede pegar la contraseña y hay problemas con PKCS#8?

Utilizo ssh en mi máquina, y he configurado una frase de contraseña larga y no humana que está guardada en mi gestor de contraseñas. Lo que me vuelve loco cada vez es que no puedo pegar en la ventana que se muestra a continuación. Sé que la Remember password in my keychain y utilizarla. Sin embargo, a veces tengo que introducir una nueva. ¿Por qué no puedo pegar en un campo de contraseña?

Lo mismo ocurre con el diálogo que aparece al conectar discos encriptados.

ssh-agent window

Algunas actualizaciones:

  1. He descubierto cómo puedo eludir el diálogo: basta con utilizar ssh-add -K ~/.ssh/id_rsa y luego puedo pegar la frase de paso en la terminal.
  2. Como mencionó mattmcmanus, mi clave está encriptada usando pkcs8 que estaba roto en el agente ssh de Yosemite. Esto no está relacionado con el problema anterior, pero se me ocurrió al mismo tiempo (leer aquí ).
  3. utilizando ssh-add todavía no soluciona esto para los discos encriptados.

22voto

Tom Desmet Puntos 16
  1. El diálogo para ssh-agent se puede eludir añadiendo la clave en la consola/terminal: ssh-add ~/.ssh/id_rsa . A continuación, puede pegar la contraseña en el terminal. Además, añadiendo el -K opción de ssh-add lo guardará en el llavero según el comentario de Oliver Lacans.
  2. Como dijo mattmcmanus, id_rsa codificación utilizando PKCS parece estar roto en OSX Mavericks ssh-agent. La solución rápida es descifrar el archivo de claves, y cifrarlo de nuevo con el procedimiento estándar de ssh (método de derivación de claves: 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

2voto

mattmcmanus Puntos 121

¿Es una clave PKCS#8 y estás en mavericks? Si es así, parece que está completamente roto. No estoy seguro de que haya una solución todavía.

1voto

Puede ejecutar un script como éste 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

1voto

davispuh Puntos 131

Yo tenía el mismo problema. Después de encontrar esta pregunta, seguí buscando y encontré una respuesta en otro lugar. Esta es una pregunta más antigua, pero no tiene respuestas aceptadas y sigue siendo alta en las listas de búsqueda. (no estoy seguro de la etiqueta de stackexchange al respecto).

RE no poder copiar/pegar: Aparentemente es por diseño. La intención es impedir todo acceso al campo desde el portapapeles para evitar que un programa malintencionado pueda raspar las cajas de contraseñas. Yo pensaría que pegar (y no cortar) debería estar permitido, pero tal vez haya alguna razón técnica.

Para las cosas de ssh-agent, a partir de (al menos) Yosemite, el -K opción en ssh-add -K ~/.ssh/blah hace lo que te gustaría -- escribe la contraseña una vez, se almacena en tu llavero, y ssh-agent se desbloqueará de forma transparente para ti. Para tratar de ser más seguro, pongo mis frases de contraseña ssh en un llavero separado que se bloquea periódicamente.

0voto

Patrick McDonald Puntos 20645

Usando brew openssl y openssh se 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 forzar la vinculación de openssl rompe algo en Mavricks. Hasta ahora, no he notado ningún problema.

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