Probar SSH vs HTTPS
En este paso, exploraremos la diferencia entre utilizar los protocolos HTTPS y SSH para interactuar con un repositorio remoto de Git. Si bien ambos te permiten obtener y enviar código, utilizan métodos de autenticación diferentes.
Ya hemos configurado nuestro repositorio remoto origin
para utilizar HTTPS. Intentemos simular la clonación de un repositorio utilizando ambos protocolos para ver la diferencia en el formato de la URL.
Primero, navega de nuevo al directorio ~/project
:
cd ~/project
Ahora, simulemos la clonación de un repositorio utilizando HTTPS. Utilizaremos la URL de un repositorio público que no requiere autenticación para la clonación.
git clone https://github.com/git/git.git git-https-test
Este comando clona el repositorio oficial de Git en un nuevo directorio llamado git-https-test
. Verás una salida que indica el proceso de clonación. Esto funciona porque clonar un repositorio público a través de HTTPS generalmente no requiere credenciales.
Ahora, simulemos la clonación del mismo repositorio utilizando el protocolo SSH. El formato de la URL de SSH es diferente, generalmente se ve como git@hostname:user/repo.git
.
git clone [email protected]:git/git.git git-ssh-test
Cuando ejecutes este comando, es probable que veas un mensaje preguntando sobre la autenticidad del host o un error de permiso denegado. Esto se debe a que clonar a través de SSH requiere autenticación utilizando claves SSH. Dado que no hemos configurado claves SSH en este entorno, la conexión fallará o solicitará credenciales.
Cloning into 'git-ssh-test'...
The authenticity of host 'github.com (20.205.243.166)' can't be established.
ED25519 key fingerprint is SHA256:+DiY3wvvV6qU/mzgpTw4mSjJA9PMpTkCXPzQ7lPkLiA.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
Puedes escribir no
y presionar Enter para rechazar el intento de conexión.
Esto demuestra la diferencia clave: HTTPS es a menudo más sencillo para el acceso público (como la clonación), mientras que SSH proporciona un método más seguro y conveniente para el acceso autenticado (como enviar cambios) una vez que se configuran las claves SSH.
Ahora puedes eliminar los directorios de prueba:
rm -rf git-https-test git-ssh-test
Comprender cuándo usar HTTPS en lugar de SSH es importante para gestionar tus flujos de trabajo de Git y garantizar un acceso seguro a tus repositorios.