Para que sirve las SSH Key en GitHub + Como Configurarlas con Git y GitHub
En esta página:
Demo
En nuestro artículo anterior te explicamos Como configurar GitHub en Git + Clonar y Editar un Repositorio con tu cuenta de GitHub en la consola de comandos Git, pero también puedes realizar tareas con Git y GitHub habiendo configurado una SSH Key en GitHub y tu PC, en este artículo te enseñaremos a configurar una SSH Key y para que sirve hacer esto, vamos con el tutorial.
Antes de crear una SSH Key vamos a explicarte que es y en que nos va ayudar hacer la configuración de esta tecnología.
Que es una SSH Key en GitHub ?
Un SSH Key es un protocolo de seguridad que permite a un usuario conectarse a un servidor o a muchos servidores sin la necesidad de estar ingresando un usuario y contraseña cada ves que necesite hacer alguna gestión en el servidor. Para GitHub inicialmente se usa un par de llaves o Keys, una privada y otra pública las cuales podemos generarlas mediante la consola de Comandos Git, te explicamos más abajo como hacerlo.
Las llaves SSH Key las debes de configurar en tu PC y en tu cuenta de GitHub que deseas gestionar, esto hace que tu PC pase a ser de confianza para GitHub y te permita gestionar tus repositorios y otras gestiones sin estas iniciando sesión en GitHub, esto hace que tu trabajo sea más rápido y dinámico con la consola de comandos Git y GitHub.
En que nos ayuda configurar SSH Key en GitHub ?
Una ves que configuras el par de SSH Keys en GitHub, tu trabajo tendrá las siguientes características:
- GitHub no te pedirá usuario y contraseña para gestionar tu cuenta y repositorio.
- Nadie podrá detectar en la Red que estas ingresando un usuario y contraseña, un usuario con malas intenciones no podrá acceder a tus proyectos privados que tengas alojados en GitHub.
- Podrás clonar proyectos de manera segura con URLs SSH.
- La gestión de versiones de un proyecto en GitHub que es llevado acabo con un equipo de Desarrolladores será más rápido, seguro y dinámico.
- La llave SSH esta encriptada y solo el usuario que tiene esta Key puede ser capaz de descifrarla correctamente.
Las SSH Keys pueden no funcionar en algunos entornos, pero en la mayoría de estos funciona sin problemas y aparte de ofrecer las ventajas que mencionamos, verás otras ventajas de las que las puedes descubrir si sabes en que momento usarlas.
Configurar GitHub en Git con una SSH Key
Antes de continuar mencionarte que colocare comentarios en cada línea de comandos para explicarte que es lo que hace dicha tarea.
Ubícate en un directorio de tu sistema en donde desees empezar, abre tu consola de comandos Git y ejecuta el siguiente comando
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
// Indicamos el correo de nuestra cuenta GitHub que le daremos permisos con las SSH Keys, presiona ENTER ssh-keygen -t rsa -b 4096 -C "miemail@email.com" Generating public/private rsa key pair. // Acá nos solicita ingresar nombre de archivo para guardar la Key, deja en blanco para usar el archivo por defecto y presiona ENTER Enter file in which to save the key (/c/Users/juan/.ssh/id_rsa): // Ingresa una contraseña segura para tu Key, no aparecerá nada continua escribiéndola no hay problema, presiona ENTER Enter passphrase (empty for no passphrase): // Vuelve a escribir tu contraseña segura Enter same passphrase again: // El sistema procede con la creación de las SSH Keys Your identification has been saved in id_rsa. Your public key has been saved in id_rsa.pub. The key fingerprint is: SHA256:Nnnnnnnn5nnnnnn/H444g444/yH745555555 miemail@email.com //Estos códigos no existen, son falsos los he creado para este tutorial solamente The key's randomart image is: +---[RSA 4096]----+ | | | . + = | | . = B o . | | . . + - * | | ..S + = * | | o. - - | | .+ .+.* o | | o.+=B= + . | | .EXB=. . | +----[SHA256]-----+ |
Con esto ya generamos nuestro par de Keys SSH, en Windows si revisas el directorio C:\Users\tuusuario\.ssh se debe de haber creado 2 archivos llamados id_rsa y id_rsa.pub
1 2 3 4 5 |
/.ssh ├── id_rsa ├── id_rsa.pub |
Ahora debes de iniciar el agente de autenticación SSH para que puedas gestionar tu cuenta de GitHub y repositorios sin ingresar usuario y contraseña, ve a tu consola de comandos Git y ejecuta el siguiente comando
1 2 3 4 |
eval $(ssh-agent -s) Agent pid 1111 |
Luego debes de agregar al Agente SSH que iniciamos, la Key SSH que creaste, para hacer esto ejecuta el siguiente comando en tu consola de comandos Git
1 2 3 4 |
ssh-add ~/.ssh/id_rsa Identity added: /c/Usuarios/miusuario/.ssh/id_rsa (usuario@NC) |
Bien por ultimo vamos a enlazar la Key que esta en nuestra PC con nuestra cuenta de GitHub, para esto ve a tu cuenta en Github.com e inicia sesión, luego ve a Settings
En la parte izquierda has clic en la opción que dice SSH and GPG Keys y al lado derecho te aparece un botón que dice New SSH Key dale clic
Ve al directorio .ssh, en Windows se encuentra en C:\Users\tuusuario\.ssh y abre el archivo id_rsa.pub que generamos mas arriba, este archivo yo lo abrí con Sublime Text
Copia el contenido y pégalo en la ventana de creación de SSH Key en Github, ponle un nombre y dale clic al botón Add SSH Key para guardarlo
Listo, ya tenemos acceso a nuestra cuenta de Github por medio de SSH Keys y poder trabajar con ellas.
Para verificar si tu autenticación se ha realizado correctamente, vamos a clonar un repositorio por medio de una URL SSH, por ejemplo tenemos el siguiente repositorio https://github.com/collectivecloudperu/efecto_cargando_imagen_vue_js y copiamos la URL SSH que aparece al lado derecho del repositorio
Luego ve a tu consola de comandos y ejecuta el comando git clone y pega la URL SSH, presiona ENTER, Git empezará a descargar los archivos del repositorio
1 2 3 4 5 6 7 8 9 10 11 |
git clone git@github.com:collectivecloudperu/efecto_cargando_imagen_vue_js.git Cloning into 'efecto_cargando_imagen_vue_js'... remote: Enumerating objects: 9, done. remote: Counting objects: 100% (9/9), done. remote: Compressing objects: 100% (7/7), done. remote: Total 27 (delta 4), reused 7 (delta 2), pack-reused 18 Receiving objects: 100% (27/27), 41.44 KiB | 2.59 MiB/s, done. Resolving deltas: 100% (6/6), done. |
Con esto ya tenemos los privilegios de trabajar con SSH Keys en Git y GitHub.
Nota
- Algunos pasos mencionados en este tutorial pueden cambiar en el futuro, esto no depende de nosotros, si no de las Empresas y Desarrolladores que dan soporte a Git y GitHub.
Síguenos en nuestras Redes Sociales para que no te pierdas nuestros próximos contenidos.
- Tutoriales
- 17-05-2019
- 17-05-2019
- Crear un Post - Eventos Devs - Foro