subversion svn macos ssh

subversion - SVN+SSH, sin tener que hacer ssh-add cada vez?(Mac OS)



subversion download (6)

Sé que la respuesta está ahí, pero soy bastante tonto con Unix y probablemente no reconocería la solución si me golpeara en la cara.

Estoy en una Mac, conectando a un servidor SVN a través de túnel SSH. Tengo que ssh-add privateKey.txt cada vez que quiero conectarme al servidor SVN (Tanto Cornerstone como Xcode se conectan a SVN).

¿Hay alguna forma de "guardar" la clave en alguna parte, así que no tengo que hacer esto todas las veces? Agregarlo a mi llavero? Algún archivo de configuración? Start up script?


Desde macOS 10.12.2 puede usar la opción UseKeychain . Lea más aquí o mire en man ssh_config .

UseKeychain On macOS, specifies whether the system should search for passphrases in the user''s keychain when attempting to use a particular key. When the passphrase is provided by the user, this option also specifies whether the passphrase should be stored into the keychain once it has been verified to be correct. The argument must be ``yes'''' or ``no''''. The default is ``no''''.

Entonces haz lo siguiente:

echo "UseKeychain yes" >> ~/.ssh/config


Después de mucha exploración, creo que he encontrado la respuesta a este problema por completo. Primero, asegúrese de hacer ssh-add -K ~/.ssh/your_key_here . Esto agrega la llave de tu 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 sabor de Unix, no tendrá necesariamente esta opción.

Para una buena medida, ~/.ssh/config archivo ~/.ssh/config (puede que tenga que crearlo) para señalar todas las claves que tengo. El mío tiene lo siguiente:

IdentityFile ~/.ssh/identity IdentityFile ~/.ssh/id_rsa IdentityFile ~/.ssh/id_dsa IdentityFile ~/.ssh/my_other_identity_here IdentityFile ~/.ssh/yet_another_identity_here

De acuerdo con la página man para ssh_config, probará estos en orden. No estoy seguro de si los primeros tres valores predeterminados que he enumerado deben estar allí, pero los he incluido de todos modos.


No tengo mucha experiencia con Mac, así que no estoy seguro si esta versión está bien para ti, pero échale 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 los cuadros de tipo Unix, querría iniciar todo su administrador de ventanas a través de eso, para obtener el efecto global, pero podría no ser posible en osx.

Más información: here


Primero, mueva su archivo de clave privada a ~/.ssh . Esto no es estrictamente necesario, pero es el lugar estándar para tales cosas.

Luego ejecute ssh-add -K ~/.ssh/privateKey.txt . Le pedirá su frase de contraseña si es necesario, y luego la agregará a su Llavero.

Después de eso, no deberías tener que hacer nada más. Una explicación un poco más larga está disponible here .


sshkeychain es una posibilidad. se instala bien con macports usando:

sudo port install sshkeychain

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 muelle + "inicio al inicio")

Tenga en cuenta que el svn de Apple utiliza el llavero para almacenar contraseñas, pero no necesariamente el binario svn que construiría con macports.


Almacenamiento de frases clave en el llavero

Para almacenar la contraseña de su clave predeterminada en el Llavero, abra un Terminal y ejecute:

ssh-add -K

Y para almacenar la frase de contraseña para una ejecución de tecla diferente:

ssh-add -K /path/to/private/key/file

Cuando se le solicite su frase de contraseña, ingrésela y ya está.

Nunca necesitarás ejecutar ssh-add ni ingresar tu contraseña nuevamente.

Respuesta tomada desde este sitio: here