Práctica 1.7: Acceso ssh a github
P7 - Autenticación SSH con Git y GitHub¶
En P4 conectaste un proyecto con GitHub por HTTPS. Aquí configurarás una clave SSH para autenticarte sin introducir una contraseña en cada operación. La clave pública se comparte con GitHub; la privada nunca se comparte ni se sube al repositorio.
1. Objetivos¶
- Comprobar si existe una clave SSH y generar una
ed25519si hace falta. - Proteger la clave privada y cargarla en el agente SSH.
- Registrar la clave pública en GitHub y verificar la conexión.
- Cambiar el remoto de un repositorio de HTTPS a SSH.
2. Relación con RA1 y criterios de evaluación¶
Esta práctica apoya el RA1, especialmente CE b y CE c, porque facilita trabajar con el proyecto creado en el IDE y su repositorio. SSH y GitHub son herramientas instrumentales; no se inventa una equivalencia con otro RA ni con un CE distinto.
3. Pasos a seguir¶
3.1. Comprobar o generar la clave¶
- Abre una terminal (Git Bash en Windows) y lista el contenido de
.ssh:
Si existe id_ed25519.pub o una clave con otro nombre, puedes reutilizarla.
En los pasos siguientes sustituye ~/.ssh/id_ed25519 por la ruta de esa
clave cuando tenga otro nombre.
2. Si no existe una clave, genera una nueva con un comentario neutro:
Acepta la ruta propuesta o elige una ruta propia. Usa una frase de paso robusta; no la escribas en el documento ni compartas la clave privada.
!!! danger "Nunca compartas la clave privada"
Comparte únicamente el archivo .pub. No publiques ni envíes
id_ed25519, capturas donde se vea su contenido o una frase de paso.
3.2. Cargar la clave en el agente¶
En Linux y macOS (y también en Git Bash para Windows):
En Windows PowerShell, inicia el servicio del agente si está disponible y añade la clave:
Get-Service ssh-agent | Set-Service -StartupType Manual
Start-Service ssh-agent
ssh-add $HOME\.ssh\id_ed25519
Si usaste otro nombre, sustituye la ruta. No borres ni sobrescribas claves existentes sin verificar antes cuál utiliza cada repositorio. Si el servicio no está disponible, utiliza Git Bash o sigue la documentación de Git for Windows.
3.3. Registrar la clave pública en GitHub¶
- Muestra solo la clave pública:
En PowerShell puedes usar Get-Content $HOME\.ssh\id_ed25519.pub.
2. Copia la línea completa y ve a GitHub > Settings > SSH and GPG keys > New
SSH key. Pon un título descriptivo del dispositivo, pega la clave y confirma.
3.4. Verificar y usar el remoto SSH¶
- Comprueba la conexión:
En la primera conexión verifica la huella de GitHub siguiendo su
documentación oficial antes de responder yes. No fijes una dirección IP
en el material: puede cambiar. El mensaje esperado indica autenticación
correcta y que GitHub no ofrece acceso a una shell.
2. En el repositorio de P4 revisa el remoto y cámbialo usando marcadores:
- Crea un cambio inocuo, confírmalo y prueba
git push. No incluyas claves, tokens ni información personal en el commit.
4. Comprobaciones de finalización¶
- La clave privada permanece fuera del repositorio y protegida.
- GitHub muestra una clave pública asociada al dispositivo.
ssh -T git@github.comconfirma la autenticación.git remote -vusagit@github.comy una prueba depushfunciona.
5. Ejercicios y entregables¶
- Documenta, sin copiar secretos, qué sistema operativo y terminal has usado.
- Cambia un repositorio de prueba de HTTPS a SSH y realiza un
push. - Entrega la URL del repositorio y capturas de
ssh -Tygit remote -v, ocultando correos, nombres de usuario si el centro lo requiere y cualquier material privado.