Sé que la respuesta está ahí fuera, pero soy bastante tonto en Unix y probablemente no reconocería la solución si me golpeara en la cara.
Estoy en una Mac, conectándome a un servidor SVN a través de un túnel SSH. Tengo que hacerlo ssh-add privateKey.txt
cada vez que quiero conectarme al servidor SVN (tanto Cornerstone como Xcode se están conectando a SVN).
¿Hay alguna forma de "guardar" la clave en algún lugar para no tener que hacer esto cada vez? ¿Agregarlo a mi llavero? ¿Algún archivo de configuración? ¿Iniciar el script?
ssh-add
no puedo aceptar una-K
discusión.Almacenamiento de frases de contraseña en el llavero
Para almacenar la frase de contraseña para su clave predeterminada en el llavero, abra una Terminal y ejecute:
Y para almacenar la frase de contraseña para una ejecución de clave diferente:
Cuando se le solicite su contraseña, ingrésela y listo.
Nunca necesitará ejecutar ssh-add ni ingresar su contraseña nuevamente.
Respuesta tomada de este sitio: http://www-uxsup.csx.cam.ac.uk/~aia21/osx/leopard-ssh.html
fuente
Después de mucha exploración, creo que he encontrado la respuesta a este problema por completo. Primero, asegúrate de hacerlo
ssh-add -K ~/.ssh/your_key_here
. Esto agrega la llave a su llavero. En algunos lugares, he leído que esto es suficiente, pero no estaba seguro. Esto también es específico de Mac, por lo que si necesita hacer esto en otro tipo de Unix, no tendrá esta opción necesariamente.Por
~/.ssh/config
si acaso , edité el archivo (puede que tengas que crearlo) para que apunte a todas las claves que tengo. El mío tiene lo siguiente:Según la página de manual de ssh_config, los probará en orden. No estoy seguro de si los tres primeros predeterminados que he enumerado deben estar allí, pero los he incluido de todos modos.
fuente
-K
bandera en mac os x parassh-add
-K
bandera en OS X parassh-add
. Además de eso, esta debería ser la respuesta seleccionada./usr/bin/ssh-add
el homebrew provisto/usr/local/bin/ssh-add
que no proporciona la opción -K.~/.ssh/config
esté allí, no es necesario ejecutar elssh-add
comando cada vez que se reinicia la máquina.Desde macOS 10.12.2 puede utilizar la
UseKeychain
opción. Lea más aquí o consulteman ssh_config
.Así que haz lo siguiente:
echo "UseKeychain yes" >> ~/.ssh/config
fuente
No tengo mucha experiencia con Mac, así que no estoy seguro de si esta versión es adecuada para usted, pero eche un vistazo a http://www.phil.uu.nl/~xges/ssh/
Si esta aplicación en particular no funciona, eso es lo que está buscando de todos modos -
ssh agent
. En cajas tipo Unix, querría iniciar todo su administrador de ventanas a través de eso, para obtener el efecto global, pero puede que no sea posible en osx.Más información: http://www-uxsup.csx.cam.ac.uk/~aia21/osx/leopard-ssh.html
fuente
sshkeychain es una posibilidad. se instala bien con macports usando:
utiliza el llavero para almacenar contraseñas, y puede simplemente iniciarlo al inicio de su sesión de inicio de sesión (utilizando en el primer inicio el clic derecho habitual en el icono del dock + "iniciar al inicio")
Tenga en cuenta que el svn de Apple usa llaveros para almacenar contraseñas, pero no necesariamente el binario svn que construiría con macports.
fuente
Agregue su clave al llavero ejecutando:
y edite su
~/.ssh/config
archivo ssh config ( ) para cargar automáticamente las claves desde el llavero al ssh-agent (AddKeysToAgent yes
opción) y almacenar contraseñas en el llavero (UseKeychain yes
opción):fuente