Transferir llaves SSH de un PC a otro en GNU/Linux

Veamos un tutorial muy simple de cómo copiar unas llaves SSH que hemos generado en un equipo a otro.

globo_candado

En este tutorial no voy a hablar en detalle de qué son las llaves SSH, para eso está la wikipedia, os remito allí y a los enlaces para saber más al respecto:

A groso modo podemos decir que las claves SSH son “llaves” que sirven para darnos acceso remoto a otros equipos. Ya sean PC’s, servidores, o (como en el caso que me ocupa) acceso a repositorios de git de otra gente o comunidades. Las claves SSH por tanto sirven para identificar tu equipo y así tener acceso a recursos remotos.

Las claves (en plural, ya que son un par de claves las que se generan, una pública que puedes compartir y una privada, que debes guardar con recelo) las generas en tu equipo, y después compartes con el administrador de los servicios remotos a los que quieres acceder tu clave pública, así él las incluirá entre las claves confiables y cada vez que quieras acceder al servicio remoto tendrás acceso.

Una vez generadas, en tu equipo con GNU/Linux (en otros sistemas operativos no tengo ni idea) se crea un directorio oculto en el /home de tu usuario llamado .ssh y en el que estarán almacenadas esas claves. La duda me surgió, porque yo generé las claves para tener acceso a un repositorio git remoto y me pidieron mi clave pública para poder tener derechos para acceder a ese repositorio, pero ¿qué pasa si quiero trabajar en ese mismo repositorio desde otra máquina?

No es necesario crear otro par de claves y volver a enviarles mi nueva clave pública. Después de un rato de búsqueda, ví que era sencillo. Lo dejo por aqui apuntado en el blog, por si a ti te puede servir. Yo encontré la solución en este enlace:

Ya había probado a simplemente copiar dicho directorio .ssh de una máquina a la máquina donde quería migrar mis claves, pero al intentar acceder al repositorio con git, me daba un error, algo así como diciéndome que mis claves eran demasiado públicas como para confiar en ellas, todo eso y más pero en inglés.

Por tanto algo más tendría que hacer. Y buscando es cuando dí con el enlace en cuestión. En él explican que efectivamente vale con copiar y pegar ese directorio, pero ya que esos archivos contienen datos importantes deberían poder leidos por el usuario, pero no accesibles para leer, escribir, o ejecutar por otros usuarios, por lo que ssh ignora esas claves si existe ese problema de seguridad.

Por tanto era un tema de permisos de esos archivos. Así que accedes a tu /home/tu_usuario/.ssh y en esa ruta ejecutas:

chmod 600 id_rsa

Con esto cambias los permisos (lee más sobre chmod ) del archivo en cuestión, y ahora ya sí ssh confía en esas claves y conseguí acceso desde otra máquina al recurso remoto.

Este es un sencillo apunte/tutorial. No soy experto en el tema, así que espero no haber metido mucho la pata, cualquier corrección/sugerencia la puedes hacer en los comentarios, así aprendemos todos!!

consola-linux-shell

————————————————–

3 pensamientos en “Transferir llaves SSH de un PC a otro en GNU/Linux

Me gustaría saber tu opinión. Deja un comentario (Puedes usar MarkDown)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s