GitHub es reconocido por su capacidad de facilitar y mejorar la colaboración en proyectos de programación. Para aprovechar todas sus funcionalidades, primero debes registrarte. Si aún no has creado una cuenta, te recomiendo hacerlo. Aquí tienes los pasos:
Proporciona tu correo electrónico y crea una contraseña segura.
Asegúrate de activar la verificación de dos pasos para mayor seguridad.
Ya registrado, inicia sesión con tu correo y contraseña. Recuerda, GitHub puede enviarte un código de verificación a tu correo para verificar tu identidad.
¿Cómo navegar e interactuar con GitHub?
Una vez iniciado sesión, entrarás a tu vista principal, que se asemeja a un "home" donde verás un resumen de tus repositorios y actividades. Aquí hay algunas funciones clave:
Explorar repositorios: Puedes buscar repositorios populares y añadirles estrellas si los consideras valiosos.
Ver y crear repositorios privados o públicos: Los repositorios privados te permiten trabajar en proyectos de manera confidencial, mientras que los públicos son ideales para compartir y colaborar.
Contribuir y gestionar colaboradores: Invita a otros usuarios para que colaboren en tus proyectos, facilitando el trabajo en equipo.
¿Qué es un par de llaves SSH y cómo se crean?
Una de las funcionalidades fundamentales de GitHub es la conexión segura mediante un par de llaves SSH (Secure Shell). Aquí te explico cómo crear y utilizar estas llaves.
Creación de un par de llaves SSH
Las llaves SSH constan de:
Llave pública: Esta se comparte con servicios como GitHub para autenticar tu conexión.
Llave privada: Esta debe mantenerse en secreto ya que es esencial para tu seguridad.
Para generar estas llaves, sigue este proceso en la terminal de tu sistema operativo:
-b 4096: Define el tamaño de la llave a 4096 bits.
-C "tu-correo@example.com": Añade un comentario para identificar la llave, generalmente tu correo de GitHub.
Al ejecutar este comando, se te solicitará una ubicación para guardar la llave y es recomendable establecer una passphrase para mayor seguridad.
Copiar y añadir la llave SSH a GitHub
Después de generar la llave, debes añadirla a GitHub:
Copia la llave pública usando el comando:
clip < ~/.ssh/id_rsa.pub
Dirígete a tus "Settings" en GitHub y selecciona "SSH and GPG Keys".
Haz clic en "New SSH key", pega la clave copiada y guárdala.
¿Cómo verificar la conexión SSH con GitHub?
Una vez que has añadido tu llave SSH a GitHub, confirma que todo funcione correctamente:
ssh -T git@github.com
Si la conexión es exitosa, verás un mensaje de bienvenida que indica que la autenticación se realizó correctamente. Si se te solicita la password, asegúrate de escribirla correctamente y verifica que todo esté configurado adecuadamente para futuras conexiones sin problemas.
¿Por qué es importante la seguridad en GitHub?
GitHub es una herramienta poderosa que alberga proyectos importantes, por lo que la seguridad es vital. El uso de llaves SSH garantiza que las conexiones y transferencias de datos se realicen de manera segura, protegiendo tu código y datos personales. Siempre es recomendable utilizar métodos de seguridad avanzados como la verificación en dos pasos y mantener tus contraseñas y llaves privadas a salvo.
Ahora que has aprendido cómo registrarte, explorar GitHub y establecer conexiones seguras, estás listo para empezar a contribuir a grandes proyectos. ¡Sigue adelante y continúa aprendiendo!
Uso práctico de GitHub: Crear llaves SSH y configurar repositorios
Siempre vas a poder crear llaves SSH en tu computadora con cualquier algoritmo. Ahora, hay lugares (como GitHub) que no admiten llaves creadas con un algoritmo antiguo (por la falta de seguridad), y su habilitación o deshabilitación depende directamente de la plataforma, por lo que tendrías que estar pendiente de la documentación de la misma para saber si un algoritmo está permitido o no.
Pueden sacar el símbolo ~ presionando alt gr + ñ, en otros teclados puede funcionar como alt gr + 4 (el 4 de los números de arriba) o también con alt + 126
.
Por cierto, la pantalla principal de GitHub cambió y ahora se ve más bonita :D
.
Faltó el paso de añadir la llave generada al SSH Agent, esto permitira que cada vez que se clone un repositorio mediante SSH no pida la contraseña de dicha llave ya que la conexión será reconocida automaticamente por el ordenador.
Comandos para añadir la llave al SSH Agent
eval $(ssh-agent -s)// Inicia el SSH Agentssh-add ~/.ssh/id_rsa // Añade la llave
Ciertamente, faltó esa paso para que estableciera la conexión de forma automática sin pedir la contraseña cada vez, (algo que venia sucediendo y me parecía molesto).
Gracias Jhean Carlos!!
Corrección min 9:47
~ es un símbolo llamado virgulilla que en los sistemas operativos UNIX se refiere al valor de la variable $HOME, esto es, el directorio del usuario que está logueado.
Permite de esta forma referenciar ese directorio directamente, sin tener que escribir /home/usuario/ cada vez.
En este caso coincide ya que las llaves se deben generar en el directorio home
y asi pudo funcionar perfecto! Tengan en cuenta que el ID lo copie de id_ed25519 para que funcionara. Creo que esto fue lo necesario. Despues de eso todo funciona como en el video.
Hola Ricardo, soy totalmente nuevo en programación, entré en el curso porque es el primero que me salía en la escuela de programación, pero a esta altura, hay muchas cosas que no me quedan claras, debo seguir en este curso y más adelante empezaremos a programar desde cero o debo ingresar a otro curso antes de tomar estas clases? muchas gracias.
Hola 👋🏼
Puedes empezar con este curso para instalar todas las herramientas necesarias.
Después te recomiendo continuar con el curso de programación básica.
buenas tardes bro, apenas estoy aprendiendo y necesito alguien que me ayude en cositas basicas qe derepente salen en la terminal y pues te queria pedir el favor ya que en platzi es muy duro que te contesten pregunta o tener alguien qute ayude si no conocs a alguien si no conoces, mi nombre es juan david y hace poco compre un mac exclusivamente para esto, cualquier respues es valida.
que significa dquotes> ? y como lo saco de la terminal ya que no se puede?
SSH (Secure Shell) es un protocolo de red que permite a los usuarios conectarse y administrar remotamente dispositivos y servidores. SSH utiliza técnicas de cifrado para asegurar que las comunicaciones entre el cliente y el servidor sean seguras.
.
Para autenticarse con un servidor SSH, es común utilizar un par de claves criptográficas pública-privada (SSH keys). Estas claves son generadas por el usuario y el servidor, y permiten una autenticación segura sin necesidad de ingresar contraseñas cada vez que se conecta al servidor.
.
Generar una nueva SSH key
Abrir la terminal y dirigirse al home de nuestro PC ya que ahí quedarán guardadas las llaves.
Escribir el siguiente comando: ssh-keygen -t ed25519 -C your_email@example.com. Esto creará una nueva llave pública “id_ed25519.pub” y una llave privada “id_ed25519” en el directorio “~/.ssh”, utilizando el correo electrónico proporcionado como etiqueta.
Cuando se le pida "Introducir un archivo en el que guardar la clave", puede pulsar Intro para aceptar la ubicación predeterminada del archivo. Tenga en cuenta que, si ha creado claves SSH anteriormente, ssh-keygen puede pedirle que reescriba otra clave, en cuyo caso le recomendamos que cree una clave SSH con nombre personalizado. Para ello, escriba la ubicación predeterminada del archivo y sustituya id_ssh_keyname por el nombre personalizado de su clave.
Luego se solicitará una frase de contraseña segura “passphrase” como seguridad adicional. Esto es opcional y se puede omitir oprimiendo enter.
.
Agregar la llave SSH al ssh-agent
Antes de añadir una nueva clave SSH al ssh-agent para gestionar sus claves, debería haber comprobado las claves SSH existentes y haber generado una nueva clave SSH.
Verificar que el ssh-agent esté ejecutándose eval "$(ssh-agent -s)"
Agregar una nueva llave SSH a nuestra cuenta de GitHub
Copia el contenido de tu llave publica SSH al portapapeles. Para eso, debes ir a la ubicación de tus llaves “~/.ssh/id_ed25519.pub” y abrir el archivo .pub con el bloc de notas. También puedes ver la llave pública en la terminal mediante el comando pbcopy < ~/.ssh/id_ed25519.pub.
En GitHub, ve a la esquina superior derecha, da clic en tu imagen de perfil y luego haz clic en Configuraciones.
En la sección “Acceso” de la barra lateral, haz clic en llaves SSH y GPG.
Haz clic en Nueva clave SSH o en Añadir clave SSH.
En el campo "Título", añade una etiqueta descriptiva para la nueva clave. Por ejemplo, si utilizas un portátil personal, puedes llamar a esta clave "Portátil personal". Selecciona el tipo de clave, ya sea de autenticación o de firma. En el campo "Clave", pega tu clave pública. Haz clic en Añadir clave SSH.
Si se te solicita, confirma el acceso a tu cuenta en GitHub.
Lastimosamente hoy en 2022 casi todo lo enseñado en este video me ha tocado buscarlo con los ejemplos de la propia pagina web de guthub o viendo en YouTube, no se si es que sea que en 3 años cambiaron algunas maneras de hacer la conexión con GitHub o si sea por el procesador M1 de mi mac, pero literalmente no me sirvió nada del video.
Igual acá. La conexión de VS Code a Github está complicada con la nueva Mac M1. Sigo peleando con el tema y ni stackoverflow ni ninguna solución me funciona. Tienes alguna guía?
Al principio me espanté un poco con lo de la llave SSH jaja, parece hipercomplejo pero gracias a la buena explicación de Celis que esto parece pan comido
El simbolo ~ lo puedes obtener escribiendo la combinación de teclas ALT+Ñ en Mac
hola, gracias por tu aclaración, yo estoy empezando en esto, en que momento hago esa ejecución? la llave generada al ssh agent? para poder hacerlo también! tuve que borrar todo porque no entiendo muy bien que ha pasado, cuando conecte al repositorio me aparece master como default, pero tambien me aparece main y los códigos duplicados en ambos, he hecho tal cual los videos pero en el siguiente no se porque dice que lo hagamos con master y luego un comentario dice que main mediante otro algoritmo, y no me cambio de master a main, asi que quiero evitar mas fallos y poder hacer bien esta vez todo. gracias.