¿Cómo obtengo un pago SVN usando un par de claves pública / privada?
Pregunta
Tengo que verificar un código y ejecutarlo. Tengo la URL:
svn+ssh://myuser@www.myclient.com/home/svn/project/trunk
Tengo un archivo con su clave privada. ¿Qué hago para obtener este código?
Solución
La clave privada va en la máquina del cliente, a menudo denominada como ~ / .ssh / id_rsa
, ~ / .ssh / id_dsa
o ~ /. ssh / identity
según la versión SSH y el tipo de clave. Sin embargo, puede usar ssh -i path / to / private.key
.
Esto supone que la clave pública correspondiente existe en el servidor en ~ / .ssh / Authorizedkeys
, y que su máquina local está ejecutando el cliente OpenSSH. Si está utilizando PuTTY en Windows, simplemente abra el programa Pageant e importe la clave a través de la GUI.
Otros consejos
Si necesita usar una clave personalizada solo para svn, lo siguiente funcionará:
SVN_SSH = " ssh -i / path / to / key_name "
exportar SVN_SSH
comandos svn
http://labs.kortina.net/ 2010/01/30 / svn-checkout-with-private-key-over-ssh /
Agregue esta entrada a su archivo ~ / .ssh / config :
Host YOUR_SERVER
IdentityFile YOUR_PRIVATE_KEY_PATH # (ex: ~/.ssh/rsa)
User USER_NAME
Para obtener más opciones, consulte la página de manual de ssh_config .
simplemente use el comando ssh-add (le pedirá su contraseña, esta es la contraseña que usó cuando creó este par de claves públicas privadas).
ssh-add PATH_TO_YOUR_PRIVATE_JEY
e.g. ssh-add ~/.ssh/myPrivateKey.key
verifique que haya agregado la clave correctamente al hacer esto
ssh-add -l
Eso enumerará todos los archivos de identidad que está usando.
Estos son los pasos que utilicé para conectarme desde la línea de comandos de Mac OS X a mi servidor a través de svn + ssh:
En el servidor:
ssh-keygen -b 1024 -t dsa -f mykey (creates mykey and mkey.pub files)
Copie el contenido de mykey.pub a ~ / .ssh / Authorized_keys (cree el archivo authorised_keys si no existe)
Descargue mkey en su máquina local y ejecute:
chmod 600 mkey (the next step won't run otherwise)
svn-add mkey (enter your passphrase)
pago desde su servidor svn con ssh:
svn co svn+ssh://user@server.com/repos/path
Eliminar mkey y mkey.pub de su servidor
Además de las respuestas, dos capturas de pantalla de Eclipse 3.7 con Subversive.
¡Ingrese el nombre de usuario! (lo olvidé antes de tomar la captura de pantalla). no ingrese una contraseña.
Ingrese la frase clave si su clave privada está protegida con frase clave.
Una imagen vale más que mil palabras.
Agregue la clave privada a su carpeta ~ / .ssh /
y luego ejecute ssh-agent $ SHELL; ssh-add;
, y luego el svn co
de esa URL debería funcionar.
SVN_SSH="ssh -i /xxx/xxx/id_rsa" svn checkout svn+ssh://username@svn.xxx.com/data