Quiero hacer una conexión ssh sin contraseña para un proyecto de subversión. En este momento estoy usando ssh + svn, y es un poco molesto, porque tengo que escribir la contraseña cada vez que quiero realizar transacciones con el servidor.
Encontré varios tutoriales en la web sobre cómo generar una clave para ssh sin contraseña, pero todos parecen suponer que estoy usando el mismo nombre de usuario en el sistema remoto que en mi sistema doméstico. Sin embargo, el nombre de usuario que uso para ssh + svn es diferente al nombre de la cuenta de usuario en el sistema que estoy ejecutando. ¿Cómo configuro esto correctamente? No he tenido suerte con solo cambiar el nombre en el archivo de clave.
fuente
.ssh/id_rsa.pub
y subirlo al servidor remoto. Cuando lo hice, terminó con localusername @ localsystem. Eso debería cambiarse a remoteusername @ remotesystem, ¿verdad? ¿Tanto local como remotamente?id_rsa.pub
aauthorized_keys
en el sistema remoto. FuncionaráHay dos maneras de hacer esto:
1) poner usuario @ en la url svn; esto le dice a svn + ssh que inicie sesión como ese usuario. Creo que es una mala idea desde una perspectiva de mantenimiento porque cosas como elementos externos que apuntan a otras partes del repositorio no funcionarán correctamente.
2) crea un ~ / .ssh / config (documentado como ssh_config ) que dice algo como:
de esta manera, cualquier intento de ssh a othersystem utilizará otheruser de manera predeterminada. Lo cual es útil para ti cuando haces ssh manualmente y cuando estás usando svn.
fuente
No tiene que tener el mismo nombre de usuario en ambas máquinas. Siempre que genere la clave (
ssh-keygen
), debe copiar la línea desde~/.ssh/id_rsa.pub
o~/.ssh/id_dsa.pub
(según el tipo de clave) desde el servidor local y agregarla al~/.ssh/authorized_keys
control remoto.Si no desea escribir
remoteuser
cada vez, agregue a~/.ssh/config
:PD. El nombre de la clave puede tener forma de
localuser@localhost
pero es solo un nombre . Puede ser igual de buenomyfavouritekey@myfavouritecomputer
y a nadie le importaría.fuente
ssh-copy-id
script común pero no estándar mencionado anteriormente. Lo reconozco porque no todos los sistemas que utilizo vienenssh-copy-id
, así que he escrito algo así varias veces. :)ssh-copy-id
. Usualmente usovim
oseahorse
;)Después de crear .ssh / config y ejecutar:
Me sale el error:
luego agrego
chmod 600 .ssh/config
, y después de eso, funciona sin problemas.fuente