Siempre es necesario llevar un control de versiones para nuestros proyectos, GitHub.com es una excelente herramienta para guardar nuestras versiones con Git.
Existen varios clientes y justamente GitHub tiene uno propio, pero yo voy a realizar mi conexión por ssh y terminal, nomás porque si.
Esto que publico me funciono en Linux y OS X, creo que no deben tener problemas en ninguno de estos dos casos, si usas winbugs, consíguete una computadora seria 😛
Lo primero que tenemos que hacer es entrar a nuestra carpeta .ssh en nuestro directorio personal, si estas en OS X y nunca has usado ssh entonces debes crearla así:
mkdir ~/.ssh
Después debemos entrar a nuestro directorio .ssh:
cd ~/.ssh
Y creamos una llave para entrar a GitHub, después de poner el comando, nos pedirá una frase de acceso y su confirmación:
ssh-keygen -t rsa -C "tuemail@domain.com" -f github Enter passphrase (empty for no passphrase): Enter same passphrase again:
Si todo ha salido bien, debemos tener una salida parecida a esta:
Your identification has been saved in github. Your public key has been saved in github.pub. The key fingerprint is: 17:87:16:d4:49:e6:50:bb:1b:9e:40:8d:5d:25:c0:5b tuemail@domain.com The key's randomart image is: +--[ RSA 2048]----+ | .+==oo..| | X+o . | | * *. | | o oE. | | S o.o | | . o - | | + | | | | | +-----------------+
Ahora debemos tener dos archivos .ssh que son: github y github.pub, debemos ejecutar el siguiente comando:
cat github.pub
Y obtenemos la siguiente salida, copia esto en algún lado 😉
ssh-rsa AAAAB3Nza2EAAAADAQABAAABAQDbSjrdVdjkfzZM2yfdOI2sOW9fXF5qKPZFGJl21FRbOcFmw+HZ5sa7rJknmDsGQBL+AHnc/kBJIfDD3eN1YY2tFZFu2tin6f2PrY7wovxAKC3nZQaX28v4YPR4OMENBL37wowsvH+XvEQVJYogHoq9O8OAus6rnFJeolWd/0rka8XOHv7KMX+i4k985n40iz60ivoznWIRrJbTySspIyo3qYubEGItJ+4uulZiKH79DNZfquqpF/CFQ4EDBIXXpUOZ4nZJlNaWOWy4djE0chk8VVg7QAknvc/ajQnJOIx2M34zR+0TawTDl/J+0r4IMLykTqwBk6KhzYyPFo/Y5QuX tuemail@domain.com
Debemos ingresar a github.com y hacemos click en el engrane que nos llevara a settings (Lo marque con rojo):
Despues en la seccion ssh keys, damos click en add key, ingresamos el nombre de nuestra llave y pegamos el ssh-rsa que copiamos en algun lado 😉 (Marque todo en rojo para los mas despistados)
Ahora voy a crear un archivo de configuración ¿por que? tengo al menos seis o siete llaves en mi carpeta .ssh de varios repositorios de git u otras conexiones con servidores y es buena idea indicarle a nuestro equipo que llaves utilizar, asi:
touch ~/.ssh/config
Dentro de este archivo vamos a poner el siguiente contenido:
Host github.com HostName github.com IdentityFile /Users/tuusuario/.ssh/github IdentitiesOnly yes
NOTA: Cambia la ruta de IdentityFile por la ruta donde esta guardado tu archivo github.
Ahora solo hace falta probar para estar seguros de que todo funciona correctamente:
ssh -T git@github.com
Esto nos debe mostrar algo así, tambien nos debe pedir la frase de acceso que ingresamos al crear nuestras llaves :
The authenticity of host 'github.com (192.30.252.129)' can't be established. RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a5:48. Are you sure you want to continue connecting (yes/no)?
Contestemos que «yes» 🙂 y si todo sale bien, el mensaje de bienvenida:
Identity added: /Users/elhui2/.ssh/github (/Users/elhui2/.ssh/github) Hi elhui2! You've successfully authenticated, but GitHub does not provide shell access.
Eso es todo.
Saludos.
Un saludo Quisiera preguntarte algo ya que no entiendo una paso y es el que nos hablas sobre la ruta –>Identityfile<– Aqui que ruta es la que va, ya que estoy un poco confundido no se si es la ruta de la clave o publica o que ruta …. Gracias espero tu ayuda
se refiere a la ruta donde esta creada la carpeta .ssh en mi caso es :
IdentityFile /home/willo/.ssh/github