No tienes acceso a esta clase

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

Subiendo nuestro primer repositorio

16/17
Recursos

Aportes 68

Preguntas 54

Ordenar por:

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

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

!! 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

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>

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

  • 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 😃

Clase 16 – Subiendo nuestro primero repositorio


¿Para qué nos sirve una llave SSH?

  • Un método seguro con el que podemos enviar y recibir información de internet.

¿Qué pasos debemos de realizar para crear una llave SSH?

  • Primero debemos ejecutar el comando ssh-keygen -t rsa -b 4096 -C “correo-electrónico”
  • Seleccionamos el lugar en donde queremos guardar la llave SSH.
  • Elegimos si queremos colocarle una contraseña extra a nuestra llave SSH.

¿Qué significado tiene las opciones -t -b y -C en el comando para crear una llave SSH?

  • -t: Indica el tipo de algoritmo que vamos a usar.
  • -b: Indica el peso que tendrá la llave SSH.
  • -C: Es un mensaje único en el cual debemos escribir nuestro correo electrónico.

¿Qué archivos se crean cuando creamos una llave SSH?

  • Id_rsa.
  • Id_rsa.pub.
  • Know_host.

¿Cuál es la llave privada SSH según los archivos que creamos?

  • Id_rsa.

¿Cuál es la llave publica SSH según los archivos que creamos?

  • Id_rsa.pub.

¿Qué paso debemos de realizar una vez hayamos creado la llave SSH para conectarnos a GitGub?

  • Asegurarnos que el servidor SSH este corriendo.
  • Agregar nuestra llave al servidor SSH.

¿Cómo podemos asegurarnos que el servidor SSH este corriendo?

  • Con el comando eval “$(ssh-agent -s)”.

¿Cómo podemos agregar nuestra llave SSH al servidor SSH?

  • Por medio del comando ssh-add ~/.ssh/id_rsa

¿Qué pasos debemos realizar para agregar nuestra llave publica a GitHub?

  • Clic en el menú de usuario (ubicado en la parte superior derecha de la pantalla, con nuestra imagen de usuario).
  • En las opciones del menú buscamos la opción Settings.
  • En el menú lateral izquierdo buscamos la opción SSH and GPS keys y damos clic sobre ella.
  • Damos clic en el botón New SSH key.
  • Desde el directorio en dónde esta nuestras llaves SSH ejecutamos el comando code .
  • Una vez abierto VSC buscamos el archivo id_rsa.pub y copiamos su contenido.
  • Nuevamente desde GitHub en la página para agregar nuestra llave SSH publica escribimos un titulo a la llave para identificarla y en la sección Key pegamos el contenido de la llave SSH publica.

¿Qué otra opción podemos usar para copiar nuestra llave SSH publica?

  • Xclip.

¿Cómo podemos instalar xclip?

  • Con el comando sudo apt install xclip.

¿Cómo podemos copiar la llave SSH publica con xclip?

  • Con el comando xclip -selection clipboard < ~/.ssh/id_rsa.pub

¿Cómo podemos crear un nuevo repositorio desde GitHub?

  • Clic en el menú de usuario (ubicado en la parte superior derecha de la pantalla, con nuestra imagen de usuario).
  • Seleccionamos la opción “Your Profile”.
  • Nos dirigimos a la pestaña Repositories y una vez allí le damos clic al botón New.
  • Escribimos el mismo nombre del repositorio que tenemos en local.
  • Escribimos una descripción (opcional)
  • Seleccionamos si queremos que el repositorio sea público o privado.
  • Clic en el botón new repository.

¿Cómo podemos enviar un repositorio en local a GitHub?

  • Seleccionamos si queremos que la conexión que queremos con GitHub sea con HTTPS o SSH (vamos a usar esta)
  • Copiamos el enlace que nos dan al selecciona la forma de conexión.
  • Abrimos nuestra terminal desde el directorio en donde tenemos nuestro proyecto
  • Ejecutamos el comando git remote add origin enlace-de-github
  • Renombramos la rama principal de git con el comando git branch -M main.
  • Subimos nuestro proyecto a GitHub con el comando git push -u origin main.
  • Revisar en GitHub si todo se subió de manera correcta.

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.

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

SOLUCIÒN:++**

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

Para quienes lo miren después de agosto de 2021 y la consola les arroje un mensaje como “remote: Support for password authenticaton was removed on August 13, 2021”

La contraseña (token) puede ser generada desde GitHub:
1- Settings
2- Opción “Developer Settings” del menú lateral
3- Opción “Personal sccess tokens” (Tokens)
4. Botón “Generate new token” (Opción “Generate new token”)
5. Nombran el token para diferenciarlo, le dan un tiempo de expiración y listo, Copian y pegan en la terminal a modo de Password


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 )

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

cat id_rsa.pub

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.

Es necesario actualizar esta clase, saludos.

para arreglar el error

The authenticity of host 'github.com (140.82.114.4)' can't be established.
your fingerprint here :)
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? 
Host key verification failed.
fatal: Could not read from remote repository.

hay que correr esto en ~/ssh/

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

listo con eso vuelve a darle push y se soluciona

Host key verification failed.
fatal: No se pudo leer del repositorio remoto.
LA SOLUCION ES ESTA:

añade el GitHub a la lista de hosts autorizados:
ssh-keyscan -t rsa github. com >> ~/.ssh/known_hosts
sin espacios, no me deja poner links Platzi

Subir un repositorio a github

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

Saludos, he seguido la configuración de git en mi maquina que tiene Linux Mint y al momento de realizar el push me solicita el nombre de usuario y el password para ese usuario. le paso el nombre de usuario de github y la contraseña con la que ingreso a la plataforma pero en la terminal me sale el error fatal: Autenticación falló para 'https://github.com/nombre-usuario/nombre-proyecto.git/ Que puede ser y como lo podría solucionar ? ¡Gracias!, bendiciones
ssh-add ~/.ssh/id rsa could not open a connection for your id authentication
Una duda por favor, ¿Por que al momento de usar el comando git push -u origin main, no me pide ni el usuario ni password? Simplemente sube los archivos al repositorio pero no me pide usuario ni contraseña.

¿Qué es una SSH?


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 [email protected]. 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 nuestra llave privada SSH ssh-add ~/.ssh/id_ed25519
    .

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.
  • 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.

Minuto 8:24 Se refiere a que estaba en el directorio "~/.ssh" y no en el "mi-primer-web" donde se hizo el `git init` de ahí que no se encuentre el repositorio

¿Qué es una llave SSH?

Una “clave SSH” es un tipo de autenticación segura utilizada para acceder a servidores remotos, repositorios de Git y otros servicios en línea. La clave SSH funciona como una forma de identificación y autenticación, permitiéndole iniciar sesión en un servidor remoto sin tener que escribir una contraseña.

La clave SSH consta de dos partes: una clave pública y una clave privada. La clave pública se aloja en el servidor remoto, mientras que la clave privada se guarda en su computadora local. Cuando intenta acceder al servidor remoto, su clave privada se utiliza para encriptar un mensaje que demuestra su identidad. El servidor remoto desencripta el mensaje con su clave pública y, si la identidad coincide, lo autoriza a acceder.

Las claves SSH son más seguras que las contraseñas, ya que son más difíciles de piratear o interceptar. Además, al utilizar claves SSH, no tiene que escribir una contraseña cada vez que intenta acceder al servidor remoto, lo que lo hace más cómodo y eficiente. Por lo tanto, las claves SSH son ampliamente utilizadas en la industria del desarrollo de software para mejorar la seguridad y la comodidad.

Crear llave ssh

senores ya despues de 5 horas encontre una solucions al problema cuando no se copia la llave en ves de usar xclip usen cat ese te ayuda a ver la llave y poderla copiar yo uso linux en chromebook se se pudo

ayuda a mi no se me ecopia la llave todo bien p[ero cuando le doy copiar en la pagina de git nada sucede estoy atrapado en ese paso

❤️

Listoo

como pongo la “virgulilla” esa que pone el profe después de mostrarnos el email. ❤️

No me costó pero me doy cuenta que no sé nada de Git y GitHub y quiero aprender! Se nota la utilidad

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]

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