No tienes acceso a esta clase

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

Subiendo nuestro primer repositorio

16/17
Recursos

Aportes 49

Preguntas 38

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

Si desean un mayor nivel de seguridad usen la encriptación Ed25519 que recomienda Github.
https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent


ssh-keygen -t ed25519 -C “[email protected]example.com”

Les dejo este enlace por si tienen curiosidad sobre los diferentes tipos de encriptación para SSH
https://qastack.mx/ubuntu/363207/what-is-the-difference-between-the-rsa-dsa-and-ecdsa-keys-that-ssh-uses

En los vídeos anteriores se cuidó de no mostrar el correo, y en el último paso que es crear y configurar las ssh no lo tapo. 🤦‍♂️

Se que el curso va enfocado en el manejo del entorno en linux, pero si se les complica manejar los comandos de git vs code tiene una pestaña para hacerlo de manera visual, en las pestañas es la segunda que está luego de la del explorador. ahi pueden ver los archivos del proyecto y en la barra que muestra al seleccionar el boton con los 3 puntos el menu les permite agregar los archivos y hacer los comits desde el vs code

Oculto su correo todo el curso para revelarlo aqui hahaha

Notes

If you want to upload your local repository to GitHub, you must follow the next steps:

  1. Create an SSH key so you can communicate with GitHub safely
ssh-keygen -t rsa -b 4096 -C "[email protected]"

This will create a private and a public key, you should never share the public key, the one that you will use to communicate with GitHub will be the public one. If you want to know if your SSH key is running, use the following command:

eval "$(ssh-agent -s)"

To add an SSH private key into the SSH authentication agent for implementing single sign-on with SSH

ssh-add ~/.ssh/id_rsa

ssh-agent

Secure Shell is a protocol allowing secure remote login to a computer on a network using public-key cryptography. SSH client programs typically run for the duration of a remote login session and are configured to look for the user’s private key in a file in the user’s home directory.

  1. Now that we have our private key running, we must add it in GitHub:

https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account

We must install the xclip program for copying things safely

sudo apt install xclip

Then we should copy our SSH key

xclip -selection clipboard < ~/.ssh/id_rsa.pub

Then we add the key in the SSH and GPG key section

To add a remote named <name> for the repository at <url>

git remote add origin <link>

!! Nota Importante !! Las Llaves RSA que se generaron después del 2 de Noviembre de 2021 deberán utilizar un algoritmo de firma de tipo SHA-2. Algunos clientes más angituos podrían necesitar actualizarse para poder utilizar firmas de tipo SHA-2. o utilizar la encriptación ed25519 que recomienda Github. Tal vez a algunos le da este tipo de error ok.
Aqui les dejo el link:

https://docs.github.com/es/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys

Espero que les sirva la observacion


Si les llega a indicar que agregaron muchos parametros es posible por que no hayan colocado la “c” en mayusculas “C” eso me paso a mi despues pude hacerlo bien

con el comando cat puedes abrir el contenido de la llave en la terminal. Así:

cat id_rsa.pub

Subiendo nuestro primer repositorio 16/17

  • Crear una llave SSH para comunicarnos con GitHub mediante un protocolo encriptado:
    • $ ssh-keygen -t rsa -b 4096 -C <”frase/correo”> para crear la llave -t es para indicar que usaremos el algoritmo rsa -b es para indicar los bits de la dimensión de la llave -C es para indicar la frase de codificación que puede ser tu correo
    • nos indica la dirección donde se guarda y si queremos una contraseña extra (dejo en blanco)
    • $ cd ~/.ssh para ir a donde está la llave privada y pública, ~ es para indicar el home/percival/
    • la llave pública es la que se comparte (.pub) la privada no se comparte, se queda en nuestro equipo
  • Agregar la llave privada al servidor SSH del SO
    • $ eval “$(ssh-agent -s)” para saber si el servidor está activo
    • $ ssh -add ~/.ssh/id_rsa para agregar la llave privada
  • Agregar la llave publica a GitHub
    • Ir a Configuraciones → SSH…
    • instalar en Ubuntu xclip para copiar la llave pública
    • $ xclip -selection clipboard < ~/.ssh/id_rsa.pub para copiar la llave pública
    • En GitHub damos clic en el botón “Nueva llave SSG”
    • Título de la llave y pegamos
  • creamos un nuevo repositorio en GitHub
  • seleccionamos la opción SSH
  • abrimos una terminal en la disección del proyecto
  • copiamos en la terminal abierta, los comandos que nos muestra GitHub para el caso de ya tener un repositorio creado de Git
  • el primer comando da la dirección donde se subirá, el segundo renombra la rama principal como “main” el último comando da la orden de subir

Me he dado cuenta que muchos han tenido el problema de que cada vez que usan git push -u origin main deben ingresar el email y un token. Les sugiero los siguientes pasos:

  1. Verifiquen los pasos del video, con calma, sin estres.
  2. Si hicieron todo bien y el problema sigue, verifiquen que a la hora de conectarse al repositorio en GitHub hayan seguido los comandos de la pestaña “SSH”. Esto lo pueden checar en el minuto 7:11 del video. Si agregaste los comandos de la pestaña HTTP en vez de SSH debes correr el siguien comando en el terminal: “git remote rm origin” sin las comillas Y LUEGO de eso los comandos indicados en el min 7:11 de la pestaña SSH.

Este curso me ha motivado a terminal el curso profesional de Git y Hub y el de manejo de la terminal, tome los otros de prework pero este es de los mejores

Les recomiendo seguir este tutorial para que en la terminal muestre en la rama que te encuentras en tu proyecto de git, sin tener que usar el comando git branch
https://coderwall.com/p/fasnya/add-git-branch-name-to-bash-prompt

Para no tener que instalar xclip tambien puedes ir a la carpeta donde estan las llaves publica y privada, para abrir la llave publica en vscode utilizas el comando code id_rsa.pub, la copias y la pegas en tu github como se muestra en el video.

Una recomendacion es que instalen fzf, eso les ayudara a no tener que acordarse de comandos como los que profe usa en la clase, yo lo uso todo el tiempo y me ha salvado la vida y tiempo en mas de una ocasion, se los recomiendo

Una manera mas rapida es abriendo el archivo id_rsa.pub con el editor de texto, copiar todo su contenido y pegarlo en el campo que nos sale en GitHub, y listo.

Las dos formas son validas, es cuestion de seguridad y gustos.

**++erorr null que no te deja copiar la llave con xclip?

SOLUCIÒN:++**

clip.exe < ~/.ssh/id_rsa.pub

Subir un repositorio a github


Buenas noches, en caso de que tengan un problema con el “Host key verification”, intenten lo siguiente desde la terminal:

ssh-keyscan -t rsa github. com >> ~/.ssh/known_hosts

Dicho comando autoriza a Github como host

05:56 - Copiar de manera segura desde terminal al portapapeles: $ xclip -selection clipboard < ~/.ssh/id_rsa.pub

Motivado para el curso de Git y GitHub

si el comando que utilizan acá para hacer las llaves no les funciona aganlo si el -c “correo” no se que tan recomendado sea pero a mi me funciono así

El archivo id_rsa.pub también se puede abrir con Visual Studio Code. Una vez abierto, seleccionar todo, copiar y pegar en GitHub!

Super, ya subi mi proyecto

Excelente gracias

Este video es lo mejor que tiene Platzi!!!

Sólo comentarles una dificultad que tuve en el proceso. Resulta que no me dejaba agregar la clave privada al ssh. Y el problema era que había dejado espacio entre ssh-add. Ojo no dejar espacio.

ssh-add ~/.ssh/id_rsa

Estoy tomando este curso luego de haber terminado el de Git & GitHub, quizás debí hacerlo al contrario 😅

ssh creation

Si por alguna razon no te sirvio xclip haz esto:
Vas al directorio de las llaves

cd ~/.ssh

Luego pones este comando

cat id_ed25519.pub o (id_rsa.pub)

Copias con click derecho y vas y lo pegas en GitHub

Al momento de poner el correo mientras se establece la llave SSH, se debe escribir entre “”, si no lo haces no podras establecer la llave. O por lo menos así me pasó.

[email protected]

si alguno llega a presentar este problema de no lograr subir los documentos a git por que no les permiten autenticar es muy sencillo de solucionar
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: Authentication failed for 'https://github.com/je-martini/repositorio1.git/'
eso es por que git implemento una nueva capa de seguridad que utiliza una clave que se debe crear:
1._ Entrando a config. de tu usuario de github
2._ Buscas las Configuraciones de desarrollo que tiende a estar casi de ultima en las configuraciones de usuario
3._ Entras a la seccion personal access tokens
4._ Ahi indica crear nuevo token
5._ Solo falta configurarlo para el tiempo de expiracion y para que ocasiones usaras ese token, le das al boton crear token y PRESTO tienes el token con el cual subir los archivos a github pero… como se utiliza ese token???
6._ Volviendo a la terminal, cuando se coloca el comando
"git push -u origin main "
7._ Les solicitara el nombre de usuario de git ( ese se mantiene )
8._ Les solicitara la clave del usuario de git en este momento es cuando ustedes deben colocar el PERSONAL ACCESS TOKEN ( en vez de la contraseña que hayan creado en git )
9._ Disfruta de la vista, al fin despues de un buen tiempo de frustracion lograste subir tu primer repositorio a git que emocion ( por lo menos a mi me paso que cuando al fin lo logre me senti un dios de la programacion XD i know no lo soy aun jeje pero asi me senti y lo disfrute mucho dios mio que felicidad da )

  • Si después de dar el push les pide su nombre de usuario y contraseña, y al colocar la contraseña les sale que fue actualizado el 13 de agosto de 2021, tienen que generar un token y ese es el que lo tienen que copiar en password, al momento de copiarlo guárdenlo en algún lugar porque después no se podrá visualizar.

En este tutorial está bien explicado:
https://www.youtube.com/watch?v=ytSoabxSQ6E

Espero les sirva 😃

xclip no me funciono

tome su menecanta! jajajaj

El profe tanto cuido el correo y al final lo mostro jajaj

A seguir practicando Git

When el correo que estuvieron tapando toda la clase aparece en la llave.

La interfaz de GitHub es bastante fácil de usar para el desarrollador novato que quiera aprovechar las ventajas del Git. Sin GitHub, usar un Git generalmente requiere de un poco más de conocimientos de tecnología y uso de una línea de comando.

GitHub es tan fácil de usar, que incluso algunas personas usan GitHub para administrar otro tipo de proyectos – como escribir libros.

Además de esto, cualquier persona puede inscribirse y ser hospedar un repositorio de código público completamente gratuito, el cual hace que GitHub sea especialmente popular con proyectos de fuente abierta.

Como compañía, GitHub hace dinero vendiendo alojamiento para repositorios de código privado, al igual que otros planes enfocados para negocios, que hace más fácil que las organizaciones administren a los miembros de su equipo y su seguridad. Utilizamos GitHub de forma extensiva aquí en Kinsta, para administrar y desarrollar proyectos internos.

Una Versión de Control ayuda a los desarrolladores llevar un registro y administrar cualquier cambio en el código del proyecto de software. A medida que crece este proyecto, la versión de control se vuelve esencial. Tomemos WordPress por ejemplo…

En este punto, WordPress es un gran proyecto. Si un desarrollador importante deseara trabajar en una parte en específico de la base de datos del código de WordPress, no sería seguro o eficiente permitir que pueda editar directamente sobre el código fuente “oficial”

git y git hub es el sistema de versiones mas grande del mundo nos ayuda mucho

tanto cuidar el correo y salio en el video

Gracias!

Lo de copiar la llave pública con xclip es opcional
Por no decir que esta de mas
Una analogía que me gusta utilizar es que la llave privada es una llave y la pública una cerradura
Pues esa es la función de la pública estar en internet siempre y cuando no se filtre la privada todo está OK