2008-10-10 9 views
24

Tengo que verificar un código y ejecutarlo. Tengo la URL:¿Cómo obtengo un pago de SVN usando un par de claves Pública/Privada?

svn+ssh://[email protected]/home/svn/project/trunk 

Tengo un archivo con su clave privada. ¿Qué debo hacer para obtener este código?

+0

¿En qué sistema operativo está usted? – Neall

+0

Mac OS X Leopard a nivel local, pero se supone que debe ir en una caja RH ES4. –

+1

También recibo "-bash: svn + ssh: // ... blah blah No existe ese archivo o directorio", aunque tengo svn y ssh instalados y los uso todo el tiempo. ¿Puedo hacer esto desde Eclipse con el complemento Subclipse (que también uso mucho)? –

Respuesta

3

La clave privada va en la máquina del cliente, a menudo llamada ~/.ssh/id_rsa, ~/.ssh/id_dsa o ~/.ssh/identity según la versión SSH y el tipo de clave. Sin embargo, solo puede usar ssh -i path/to/private.key.

Esto supone que existe la clave pública correspondiente en el servidor en ~/.ssh/authorized_keys, y que su máquina local ejecuta el cliente OpenSSH. Si está utilizando PuTTY en Windows, simplemente abra el programa del concurso e importe la clave a través de la GUI.

+8

no me queda claro cómo usarlo con svn? – WonderLand

+9

mismo para mí ... la respuesta no es correcta. –

+2

esta pregunta es para svn, no ssh – Transcendence

1

Agregue la clave privada a su carpeta ~/.ssh/ y luego ejecute ssh-agent $SHELL; ssh-add;, y luego la svn co de esa URL debería funcionar.

+0

Sus claves privadas _no_ entran_ ~/.ssh/config. – ephemient

+0

Vaya, tiene toda la razón, debería haber sido 'authorized_keys'. –

47

Si es necesario utilizar una clave a medida solo para SVN, el siguiente trabajo:

SVN_SSH="ssh -i /path/to/key_name"

export SVN_SSH

svn commands

http://labs.kortina.net/2010/01/30/svn-checkout-with-private-key-over-ssh/

+0

Tenga en cuenta que siempre usaré una ruta completa para la ruta a la clave. –

+0

¡El camino ahora es absoluto! – David

+0

es utilizable si solo se usa un servidor de repositorio, para múltiples servidores de repositorio se necesita ~/.ssh/archivo de configuración uso – AnViKo

13

Añadir esta entrada a su ~/.ssh/config archivo:

Host YOUR_SERVER 
IdentityFile YOUR_PRIVATE_KEY_PATH # (ex: ~/.ssh/rsa) 
User USER_NAME 

Para obtener más opciones, see the ssh_config man page.

0

Estos son los pasos que he usado para conectar desde la línea de comandos de Mac OS X a través de mi servidor svn + ssh:

en el servidor:

ssh-keygen -b 1024 -t dsa -f mykey (creates mykey and mkey.pub files) 

Copiar el contenido de mykey.pub a ~/.ssh/authorized_keys (crear un archivo authorized_keys si no existe)

Descargar tecla m a su máquina local y ejecutar:

chmod 600 mkey (the next step won't run otherwise) 
svn-add mkey (enter your passphrase) 

pago y envío desde el servidor SVN con ssh:

svn co svn+ssh://[email protected]/repos/path 

Borrar tecla m y mkey.pub de su servidor

8

sólo tiene que utilizar comando ssh-add (se le pedirá su contraseña y, de este es la contraseña que usó cuando creó este par de claves privadas públicas).

ssh-add PATH_TO_YOUR_PRIVATE_JEY 
e.g. ssh-add ~/.ssh/myPrivateKey.key 

compruebe que colocó la llave correcta al hacer esto

ssh-add -l 

que listará todos los archivos que está utilizando la identidad.

2

Además de las respuestas, dos capturas de pantalla de Eclipse 3.7 con Subversive.


General settings
Introduzca el nombre de usuario! (Lo he olvidado antes de tomar la captura de pantalla). Do not ingrese una contraseña.


SSH Settings introduzca la frase clave si la clave privada está protegido frase de contraseña.


Una imagen vale más que mil palabras.

Cuestiones relacionadas