¿Te gustaría aprender Google Adwords y Facebook ADS?
Tenemos los talleres que necesitas.¡Haz clic aquí!



Para la comunicación entre mi máquina local y  el servidor de control de versiones Bitbucket por HTTPS, es necesario autenticarse (proporcionado mi usuario y contraseña) cada vez que quiero realizar una acción que se comunique con el servidor de  Bitbucket. En esta entrada les detallo como pueden utilizar el Secure Shell (SSH) para evitar tener que autenticarse a cada momento con Bitbucket y puedan hacer sus “git push” y “git pull” con mayor rapidez.

1. Conceptos iniciales sobre SSH

Para utilizar SSH con Bitbucket, se crea una identidad de SSH. Una identidad consiste en una llave privada y una llave pública que en su conjunto son un par de llaves(claves). La llave privada reside en su equipo local y la pública se sube a tu cuenta Bitbucket.

Una vez que subes la llave pública a tu cuenta, puedes usar SSH para conectarse con los repositorios que hayas creado  y con los de propiedad de otros, siempre que esos otros dueños te hayan dado permisos a de acceso a tu cuenta. Con la creación de SSH entre tu sistema local (computador) y el servidor Bitbucket, el sistema utiliza el par de llaves para automatizar la autenticación, por lo que no tendrá que introducir la contraseña cada vez que interactuas con tu repositorio Bitbucket.

2. Verifica si tienes una identidad SSH en tu computador.

El shell Bash  de Git viene con un cliente SSH. Haga lo siguiente para verificar la instalación:

2.1. Has doble clic en el icono de Git Bash para iniciar una sesión de terminal.
2.2. Escribe el siguiente comando para verificar que el cliente SSH está disponible:

tecgurus@tecgurus-ubuntu:/$ ssh -v
OpenSSH_5.9p1 Debian-5ubuntu1.2, OpenSSL 1.0.1 25 Agost 2017
usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
[-D [bind_address:]port] [-e escape_char] [-F configfile]
[-I pkcs11] [-i identity_file]
[-L [bind_address:]port:host:hostport]
[-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
[-R [bind_address:]port:host:hostport] [-S ctl_path]
[-W host:port] [-w local_tun[:remote_tun]]
[user@]hostname [command]

2.3. Si has instalado ssh, ve al siguiente paso. Si  no tienes ssh instalado, instale desde  su gestor de paquetes.

3: Configura tu identidad por defecto.

Por defecto, el sistema añade todas las identidades en su directorio /Users/sunombre/.ssh. El siguiente procedimiento crea una identidad por defecto.

3.1.Abre una terminal en el sistema local.
3.2.Introduce ssh-keygen en la línea de comandos.
3.3.El comando solicita un archivo para guardar la llave en:

tecgurus@tecgurus-ubuntu:/$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/vagrant/.ssh/id_rsa):

3.4.Presiona [Enter] para aceptar la clave predeterminada (con nombre id_rsa)  o puede crear una clave con otro nombre. Para crear una clave con un nombre distinto del predeterminado, especifique la ruta completa a la tecla.

3.5.Ingresa  una contraseña cuando se te solicite.  Toda la interacción tiene una apariencia similar a la siguiente:

tecgurus@tecgurus-ubuntu:/$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in id_rsa_vagrant.
Your public key has been saved in id_rsa.pub.
The key fingerprint is:
0d:39:23:48:38:a6:99:25:23:eb:80:3d:fb:ef:a2:ff gchacaltana@gchacaltana-ubuntu
The key's randomart image is:
+--[ RSA 2048]----+
| .. |
|+ =. . . |
|o@ .. . = |
|B o . = |
|o o S . |
| .. |
| . |
| o |
| .o.=E |
+-----------------+

3.6.Lista tus identidades creadas con  ~ /. ssh.
Debería ver algo como lo siguiente:

tecgurus@tecgurus-ubuntu:/$ ls ~/.ssh
id_rsa id_rsa.pub

4. Crea un archivo de configuración de SSH

4.1. Usando tu editor favorito, modifique el archivo ( o cree uno nuevo) : ~/.ssh/config file

4.2. Añade la siguiente entrada al archivo de configuración.

Host bitbucket.org
    IdentityFile ~/.ssh/privatekeyfile

4.3.La segunda linea tiene sangría. Esa sangría (solo es un (1) espacio) es importante, así que asegurate de incluirlo. La segunda linea es la ubicación de tu llave privada. Deberia quedar algo similar a esto:

Host bitbucket.org
    IdentityFile ~/.ssh/id_rsa

4.4. Guarda y cierra el archivo.

4.5. Reinicia el GitBash (terminal).

5. Sube la llave pública a tu cuenta Bitbucket.

5.1.Con un navegador accede a tu cuenta de Bitbucket.

5.2.Selecciona de tu menu:  perfil > “Manage account”.

El sistema mostrará la página Configuración de la cuenta.

5.3. Has clic en la opción del menú “claves SSH” (SSH Keys). Se muestra una lista de todas las claves existentes. Luego, has clic en introducir una nueva clave “Add key”.

5.4. Se mostrará un formulario donde se te indicara que ingreses un nombre (el que guste) y la llave (“Key”). Es ahí donde debes introducir tu llave pública.

5.5. Para obtener tu llave publica has lo siguiente desde su terminal (GitBash):

cat ~/.ssh/id_rsa.pub

5.6.Copia el contenido de tu llave pública e ingresarlo en el input (“Key”).

5.7.Luego de pegar tu llave pública, has clic en el boton “Add Key”.

5.8. Para saber que tu maquina local tiene conexion ssh con bitbucket, has lo siguiente:

tecgurus@tecgurus-ubuntu:/$ ssh -T git@bitbucket.org

Debe aparecer un mensaje similar al siguiente

tecgurus@tecgurus-ubuntu:/$ ssh -T git@bitbucket.org
logged in as gchacaltana
You can use git or hg to connect to Bitbucket. Shell access is disabled.

Eso es todo, ahora a trabajar con tus repositorios bitbucket.

Te esperamos en los próximos artículos en donde hablaremos mas acerca de estos temas que hoy en día son de importancia e interés en el mundo de la tecnología.

¿Te gustaría aprender Google Adwords y Facebook ADS?
Tenemos los talleres que necesitas.¡Haz clic aquí!
About Author

NGuerrero

0 0 votos
Article Rating
Suscribir
Notificar de
guest
0 Comments
Comentarios.
Ver todos los comentarios
0
¿Te gusta este articulo? por favor comentax
()
x
Abrir chat
¿Quieres aprender a programar?
Hola 👋,
¿Te interesa información de nuestros cursos?