Fundamentos de Git y control de versiones

1

¿Qué son Git y GitHub?

2

Configuración Inicial de Git: init y config

3

Comandos Básicos de Git: add, commit y log

4

Ramas y Fusión de Cambios: branch, merge, switch y checkout

5

Volviendo en el Tiempo en Git: reset y revert

6

Gestión de versiones: tag y checkout

7

Cómo Resolver Conflictos de Ramas en Git

8

Usando Git desde Visual Studio Code

Quiz: Fundamentos de Git y control de versiones

Introducción a GitHub

9

Por qué GitHub es clave para los Desarrolladores

10

Creación y configuración de cuenta de GitHub

11

¿Cómo integrar Git y GitHub en un flujo de trabajo profesional?

12

Gestión de Repositorios en GitHub

13

Productos de GitHub: precios, planes y apps

14

Cómo configurar SSH para GitHub: Guía paso a paso

15

Clone, fork y estrellas a repositorios

16

Trabajo con repositorios remotos: push, pull y fetch

17

Gestión de Issues y Discussions en GitHub

18

Colaboración sin errores: Pull Requests en GitHub

Quiz: Introducción a GitHub

Herramientas de colaboración en GitHub

19

Introducción a GitHub Projects

20

Automatización y Gestión de Proyectos en GitHub

21

Documentación en GitHub con Markdown

22

Personaliza tu Perfil de GitHub con Markdown

23

Uso de Wikis

24

Cómo usar GitHub Gist

25

Cómo usar GitHub Pages

Quiz: Herramientas de colaboración en GitHub

GitHub Codespaces

26

Cómo usar GitHub Codespaces: Configuración y Desarrollo en la Nube

27

Cómo configurar entornos de desarrollo avanzados en GitHub Codespaces

28

Pair Programming con Codespaces y Visual Studio Code

29

Cómo usar GitHub.dev Editor

Quiz: GitHub Codespaces

Seguridad y buenas prácticas en GitHub

30

Cómo Usar Tokens en GitHub para Acceso Seguro a Repositorios Privados

31

Gestión de Dependencias y Seguridad con Dependabot en GitHub

32

Mantenimiento de repositorios seguros

33

Gestión de datos sensibles y políticas de seguridad

Quiz: Seguridad y buenas prácticas en GitHub

Administración de GitHub

34

Administración de organizaciones en GitHub

35

Cómo personalizar tu perfil de GitHub con GitHub Actions

36

GitHub CLI para administración

Quiz: Administración de GitHub

Gestión de Cambios con Pull Requests

37

Importancia de los Pull Requests y Ramas en GitHub

38

Revisión y Fusión de Pull Requests

39

Git Rebase

Quiz: Gestión de Cambios con Pull Requests

GitHub Releases

40

Introducción a los GitHub Releases

41

Publicación de paquetes en GitHub y PyPI

Quiz: GitHub Releases

Cierre

42

ProTips: Mejora tu productividad diaria en GitHub

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Cómo configurar SSH para GitHub: Guía paso a paso

14/42
Recursos

Usar SSH para interactuar con GitHub es una excelente forma de aumentar la seguridad y mejorar la comodidad en el manejo de repositorios. A continuación, te explicamos el paso a paso para generar y configurar tus llaves SSH en distintos sistemas operativos y cómo integrarlas en tu perfil de GitHub para mejorar la experiencia de clonación y autenticación.

¿Por qué es mejor usar SSH en lugar de HTTPS para GitHub?

  • Seguridad adicional: SSH permite autenticar la computadora específica que accede a los repositorios sin necesidad de ingresar una contraseña cada vez.
  • Comodidad: Evita la necesidad de escribir tu contraseña en cada operación con GitHub, agilizando el flujo de trabajo.

¿Cómo generar una llave SSH en Windows y Linux?

  1. Instalar WSL si estás en Windows (opcional si usas Linux nativo).
  2. Verificar que no tienes llaves previas: Ve al menú de “Code” en GitHub y verifica que la opción de SSH no tenga llaves configuradas.
  3. Generar la llave SSH: En la terminal, usa el comando:
    ssh-keygen -t ed25519 -C "[email protected]"
    
    • -t ed25519 establece el nivel de encriptación.
    • -C añade un comentario con tu correo, útil para identificar la llave en GitHub.
  4. Guardar y proteger la llave:
    • Usa el nombre por defecto y añade una contraseña segura.
    • La llave pública se guarda en el directorio .ssh, generalmente nombrada id_ed25519.pub.
  5. Configurar el agente SSH: Activa el agente de SSH y añade la llave privada:
    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_ed25519
    

¿Cómo añadir la llave SSH a GitHub?

  1. Abrir el archivo de la llave pública (id_ed25519.pub) y copia el contenido.
  2. En GitHub, ve a Settings > SSH and GPG keys > New SSH key y pega la llave.
  3. Nombra la llave de acuerdo a la computadora en la que estás configurándola.

¿Qué pasos adicionales seguir en Mac?

  1. Crear el archivo de configuración SSH: Abre o crea el archivo config dentro del directorio .ssh.

  2. Agregar parámetros específicos de Mac: Añade la configuración para integrar SSH con el sistema Keychain:

    Host github.com
       AddKeysToAgent yes
       UseKeychain yes
       IdentityFile ~/.ssh/id_ed25519
    
  3. Añadir la llave al agente SSH con Keychain: Usa el comando:

    ssh-add --apple-use-keychain ~/.ssh/id_ed25519
    

¿Cómo verificar la conexión con GitHub?

  1. Comprobar autenticación: En la terminal, ejecuta el comando:
    ssh -T [email protected]
    
    • Escribe “yes” para confirmar la conexión.
    • Aparecerá un mensaje de GitHub que confirma la autenticidad.

¿Cómo clonar un repositorio usando SSH?

  1. En GitHub, selecciona el repositorio deseado, elige la opción de clonación por SSH y copia la URL.
  2. En la terminal, ejecuta:
    git clone [email protected]:usuario/repositorio.git
    
  3. Esto clona el repositorio sin solicitar contraseña, aprovechando la autenticación SSH.

Aportes 16

Preguntas 5

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Vengo usando la Opcion 2 dedse hace mucho (La Aprendi en Curso anterior) , pero con la opcion 1 es mar corta y robusta la llave 1. ssh-keygen -t ed25519 -C "[email protected]" 2. ssh-keygen -t rsa -b 4096 -C "[email protected]" * Ed25519 es recomendado si prefieres mayor seguridad y eficiencia en un entorno moderno. * RSA de 4096 bits es ideal si necesitas alta compatibilidad y puedes tolerar un poco más de consumo de recursos.
Para configurar SSH en GitHub, sigue estos pasos: 1. **Genera una clave SSH**: - Abre tu terminal. - Ejecuta: `ssh-keygen -t ed25519 -C "[email protected]"` y sigue las instrucciones para crear la clave. 2. **Inicia el agente SSH**: - Ejecuta: `eval "$(ssh-agent -s)"`. - Luego, agrega tu clave privada: `ssh-add ~/.ssh/id_ed25519`. 3. **Copia la clave pública**: - Usa `cat ~/.ssh/id_ed25519.pub` para visualizarla y cópiala. 4. **Añade la clave a GitHub**: - Ve a GitHub, en "Settings" > "SSH and GPG keys", y selecciona "New SSH key". Pega tu clave pública. 5. **Prueba la conexión**: - Ejecuta: `ssh -T [email protected]`. Deberías ver un mensaje de éxito. Con esto, habrás configurado SSH para GitHub de forma segura y eficiente.
![](https://static.platzi.com/media/user_upload/GIT%20%282%29-9298dd08-4b6c-4b58-8583-61355bd291b6.jpg)
Las llaves SSH se crean desde una carpeta general del sistema, no específicamente desde la carpeta del proyecto. Puedes generarlas en el directorio `~/.ssh` (o `C:\Users\tu_usuario\.ssh` en Windows) usando el comando `ssh-keygen`. Esto permite que las llaves sean accesibles desde cualquier proyecto que requiera autenticación SSH, facilitando su uso en múltiples repositorios.
Sí, es una buena idea crear una llave SSH en cada laptop y enlazarlas a tu cuenta de GitHub. Esto te permite acceder de forma segura a tus repositorios desde ambas computadoras. Recuerda que cada llave SSH es única, por lo que necesitarás añadir la llave pública de cada laptop a tu cuenta de GitHub en la sección de "SSH and GPG keys" en la configuración. Así garantizarás que solo tus dispositivos autorizados puedan comunicarse con tu cuenta de GitHub de manera segura.
1. Para generar llaves SSH: ```bash ssh-keygen -t ED25519 -C "[email protected]" ``` 2. Para añadir la llave al agente SSH: ```bash eval $(ssh-agent -s) ssh-add ~/.ssh/id_ed25519 ``` 3. Para copiar la llave pública: ```bash cat ~/.ssh/id_ed25519.pub ``` 4. Para verificar conexión con GitHub: ```bash ssh -T [email protected] ``` Estos comandos son esenciales para la configuración de SSH y mejorar la seguridad al trabajar con GitHub.
Comparto mi experiencia. La clonacion por https me dio el error de que WSL no permitia clonar el repo porque el control de contraseñas o algo asi habia sido deshabilitado desde 2001. Sin embargo, estableciendo el vinculo SSH con github pude descargarla de manera rapida. Gracias Amin y Amen gg
Para remover la carpeta `.ssh` y crear nuevas llaves, puedes seguir estos pasos: 1. Abre tu terminal. 2. Usa el siguiente comando para eliminar la carpeta `.ssh`: ``` rm -rf ~/.ssh ``` 3. Una vez eliminada, puedes crear nuevas llaves SSH usando: ``` ssh-keygen -t ed25519 -C "[email protected]" ``` 4. Sigue las instrucciones para completar la creación de las nuevas llaves. Recuerda que al eliminar la carpeta `.ssh`, perderás todas las llaves almacenadas, así que asegúrate de que no las necesites antes de proceder.
Tuve un problema al intentar establecer la conecxion ssh a github con el comando "ssh -T [email protected]" me dice lo siguiente: sign\_and\_send\_pubkey: signing failed for ED25519 "/home/developer/.ssh/id\_ed25519" from agent: agent refused operation [email protected]: Permission denied (publickey). como lo puedo solucionar? alguien me puede orientar lo agradeceria.
Al intentar establecer la conexion ssh a github con el comando ssh -T <[email protected]> me aprece un mensaje indicando lo siguiente como se muestra en la imagen, como lo puedo solucionar? ![]()![](</home/developer/Imágenes/Capturas de pantalla/Captura desde 2025-02-04 12-05-59.png>)![](</home/developer/Imágenes/Capturas de pantalla/Captura desde 2025-02-04 12-05-59.png>)```js developer@3DN13V3S:~/.ssh$ ssh -T [email protected] sign_and_send_pubkey: signing failed for ED25519 "/home/developer/.ssh/id_ed25519" from agent: agent refused operation [email protected]: Permission denied (publickey). ```
uso de SSH en GitHub ssh es una forma segura de acceder y trabajar con el repositorio de github, te ahorra tener que poner la contraseña cada vez que haces un commit, push o pull, porque utiliza una clave privada en tu computadora local y github valida esa clave con la llave publica que tienes registrada en la cuenta. · Seguridad: usar claves ssh es mas seguro que ingresar tu contraseña constantemente, porque la comunicación se realiza mediante un par de claves lo que dificulta la interceptación o el acceso no autorizado. · Uso: es muy utilizado en proyectos colaborativos ya que cada colaborador puede usar su propia clave SSH para autenticar sus interacciones con el repositorio, sin necesidad de compartir contraseñas Para el uso colaborativo, cada usuario generará el par de claves y subirá la clave publica a github, por lo tanto, github tendrá una llave publica por cada uno de los colaboradores y cada llave publica estará asociada a su correspondiente llave privada (de cada usuario)
# **🔹 Configurar SSH para GitHub: Guía Paso a Paso** 🚀 Configurar una clave **SSH** en GitHub permite autenticarse de forma segura sin necesidad de ingresar usuario y contraseña en cada operación con Git. ## **1️⃣ Verificar si ya tienes una clave SSH** Antes de generar una nueva clave, revisa si ya tienes una en tu sistema. 🔹 Abre una terminal y ejecuta: ls -al ~/.ssh Si ves archivos como `id_rsa` y `id_rsa.pub`, significa que ya tienes una clave. Si ya tienes una, **puedes usarla** en GitHub o crear una nueva. ## **2️⃣ Generar una Nueva Clave SSH** Si no tienes una clave SSH o quieres generar una nueva, sigue estos pasos. 🔹 Ejecuta el siguiente comando en la terminal: ssh-keygen -t rsa -b 4096 -C "[email protected]" 📌 **Explicación:** * `-t rsa`: Algoritmo RSA (recomendado). * `-b 4096`: Tamaño de la clave para mayor seguridad. * `-C "[email protected]"`: Asocia la clave a tu correo de GitHub. 🔹 **Presiona ENTER** para aceptar la ubicación predeterminada: Enter file in which to save the key (/home/tuusuario/.ssh/id\_rsa): 🔹 **Opcionalmente, asigna una contraseña** para mayor seguridad. ## **3️⃣ Agregar la Clave SSH al Agente SSH** Para que Git use la clave correctamente, agrégala al **agente SSH**. 🔹 Inicia el agente SSH: eval "$(ssh-agent -s)" 🔹 Agrega la clave generada al agente: ssh-add ~/.ssh/id\_rsa ## **4️⃣ Copiar la Clave SSH Pública** Ahora, copia la clave SSH para agregarla en GitHub. 🔹 Ejecuta: cat ~/.ssh/id\_rsa.pub 🔹 Copia la clave completa que se muestra en pantalla. ## **5️⃣ Agregar la Clave SSH en GitHub** 1. Ve a **GitHub** y accede a [Configuración SSH](https://github.com/settings/keys). 2. Haz clic en **"New SSH Key"**. 3. Ingresa un **nombre** para identificar la clave (Ejemplo: "Mi PC personal"). 4. **Pega la clave SSH copiada** en el campo correspondiente. 5. Haz clic en **"Add SSH Key"**. ## **6️⃣ Verificar la Conexión con GitHub** 🔹 Para comprobar que todo está funcionando, ejecuta: ssh -T <[email protected]> Si todo está correcto, deberías ver un mensaje como: Hi \<tu-usuario>! You've successfully authenticated, but GitHub does not provide shell access. ## **7️⃣ Configurar Git para Usar SSH** Si quieres que Git use SSH en lugar de HTTPS, cambia la URL del repositorio. 🔹 Para un repositorio existente, ejecuta: git remote set-url origin [email protected]:usuario/repositorio.git 🔹 Para clonar un nuevo repositorio con SSH: git clone [email protected]:usuario/repositorio.git ### 🎯 **Conclusión** ✅ Ahora puedes trabajar con GitHub de manera segura sin ingresar tu usuario y contraseña en cada `push` o `pull`. ✅ La autenticación SSH es **más rápida y segura** que HTTPS.
El comando `eval "$(ssh-agent -s)"` se utiliza para iniciar el agente SSH en tu terminal. El agente SSH es un programa que mantiene las claves privadas en memoria, lo que permite que puedas usar estas claves para autenticarte sin necesidad de ingresar tu contraseña en cada conexión. Al usar `eval`, ejecutas el comando y configuras las variables de entorno necesarias para que tu sesión de terminal reconozca el agente y pueda usar las llaves SSH que hayas agregado. Esto facilita el uso de conexiones SSH en proyectos, como los que gestionas en GitHub.
Es decir que si estudio en el PC de un familiar por comodidad, si me cambio de ciudad puedo tener todo listo, es demasiado cómodo en mi opinión.
Es muy importante lo que dice el profe al final de la clase. Por cada dispositivo que uno use, es necesario tener una llave SSH única, para que luego uno deje de usar un dispositivo en concreto, eliminar la conexión de ese dispositivo en el perfil de Git Hub.
Para configurar SSH en GitHub, sigue estos pasos: 1. **Generar una llave SSH:** En tu terminal, usa el comando `ssh-keygen -t ed25519 -C "[email protected]"`. Sigue las instrucciones para guardar la llave. 2. **Iniciar el agente SSH:** Ejecuta `eval "$(ssh-agent -s)"` para iniciar el agente. 3. **Agregar la llave privada al agente:** Usa `ssh-add ~/.ssh/id_ed25519`. 4. **Copiar la llave pública:** Ejecuta `cat ~/.ssh/id_ed25519.pub` y copia el contenido. 5. **Agregar la llave a GitHub:** Ve a "Settings" en tu perfil de GitHub, selecciona "SSH and GPG keys" y haz clic en "New SSH key". Pega tu llave pública y guarda. 6. **Verificar conexión:** Usa `ssh -T [email protected]` para confirmar que todo está funcionando. Esto te permitirá comunicarte de forma segura con GitHub.