Apuntes
Introducción a Git
¿Por qué usar un sistema de control de versiones como Git?
¿Qué es Git?
Instalando GitBash en Windows
Instalando Git en OSX
Instalando Git en Linux
Editores de código, archivos binarios y de texto plano
Introducción a la terminal y línea de comandos
Comandos básicos en Git
Crea un repositorio de Git y haz tu primer commit
Analizar cambios en los archivos de tu proyecto con Git
¿Qué es el staging?
¿Qué es branch (rama) y cómo funciona un Merge en Git?
Volver en el tiempo en nuestro repositorio utilizando reset y checkout
Git reset vs. Git rm
Flujo de trabajo básico en Git
Flujo de trabajo básico con un repositorio remoto
Introducción a las ramas o branches de Git
Fusión de ramas con Git merge
Resolución de conflictos al hacer un merge
Trabajando con repositorios remotos en GitHub
Cómo funcionan las llaves públicas y privadas
Configura tus llaves SSH en local
Uso de GitHub
Cambios en GitHub: de master a main
Tu primer push
Git tag y versiones en Github
Manejo de ramas en GitHub
Configurar múltiples colaboradores en un repositorio de GitHub
Flujos de trabajo profesionales
Flujo de trabajo profesional: Haciendo merge de ramas de desarrollo a master
Flujo de trabajo profesional con Pull requests
Utilizando Pull Requests en GitHub
Creando un Fork, contribuyendo a un repositorio
Haciendo deployment a un servidor
Hazme un pull request
Ignorar archivos en el repositorio con .gitignore
Readme.md es una excelente práctica
Tu sitio web público con GitHub Pages
Multiples entornos de trabajo en Git
Git Rebase: reorganizando el trabajo realizado
Cómo usar Git Stash: guarda cambios temporalmente
Git Clean: limpiar tu proyecto de archivos no deseados
Git cherry-pick: traer commits antiguos al head del branch
Comandos de Git para casos de emergencia
Git Reset y Reflog: úsese en caso de emergencia
Reconstruir commits en Git con amend
Buscar en archivos y commits de Git con Grep y log
Bonus sobre Git y Github
Comandos y recursos colaborativos en Git y GitHub
Tu futuro con Git y GitHub
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Convierte tus certificados en títulos universitarios en USA
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
Freddy Vega
Las llaves públicas y privadas, conocidas también como cifrado asimétrico de un solo camino, sirven para mandar mensajes privados entre varios nodos con la lógica de que firmas tu mensaje con una llave pública vinculada con una llave privada que puede leer el mensaje.
Las llaves públicas y privadas nos ayudan a cifrar y descifrar nuestros archivos de forma que los podamos compartir sin correr el riesgo de que sean interceptados por personas con malas intenciones.
Nota: puedes compartir tu llave pública, pero nunca tu llave privada.
Aporte creado por: David Behar
Aportes 522
Preguntas 57
Apuntes
Con este ejemplo lo entendi mejor:
Supongamos que Ana quiere enviar a David un mensaje secreto que solo él pueda leer.
Primero, David envía a Ana una caja abierta, pero con cerradura, cerradura que se bloqueará una vez se cierre la caja, y que sólo podrá abrirse con una llave, que sólo David tiene. Ana recibe la caja, escribe el mensaje, lo pone en la caja y la cierra con su cerradura (ahora Ana ya no podrá abrir la caja para acceder de nuevo al mensaje). Finalmente, Ana envía la caja a David y éste la abre con su llave. En este ejemplo, la caja con la cerradura es la «clave pública» de David, y la llave de la cerradura es su «clave privada».
Algo interesante es que este proceso se puede hacer también al revés y es lo que se conoce como “Firmas Digitales”.
Si cifras tu mensaje con tu clave privada y luego lo difundes por Internet, la gente puede verificar que el mensaje es tuyo si poseen tu clave pública, asegurandose de que el mensaje no se ha cambiado y que efectivamente es tuyo
Encontré esta explicación
jejje me acorde de un episodio de bob esponja
Ambos usuarios deben generar una llave pública y privada.
Ambos usuarios deben intercambiar sus llaves públicas.
Ambos usuarios deben cifrar el mensaje con la llave pública recibida.
Ambos usuarios podrán leer el mensaje con la llave privada que generaron.
git commit - m “Entendido”
Para una comprensión más simple entiéndase como llave publica como si fuera un candado. Al compartir tu candado con quien quieras solo tu con tu llave privada lo puedes abrir. Y en una bilateralidad ambos tienen el candado del otro y así se mandan información uno al otro con su respectivo candado del otro. Y ¡pumm! Sus mensajes serán más seguros. Les comparto mi apunte de está clase.
aquí mis apuntes la clase estuvo entretenida me gusto!
Apuntes 😊
Imaginense que tienen un buzon en donde por motivos de seguridad usan 2 llaves.Una llave (publica) se usa para abrir la ranura en donde sus conocidos le pueden depositar cartas. El tamaño de esta ranura no permite sacar cartas por lo tanto nadie podra robarles sus cartas.Ahora solamente ustedes tienen la llave (llave privada) que permite abrir su buzon para sacar sus cartas. Mas informacion en este video
Lo entendí así:
Digamos que yo tengo una cajita. (Llave Pública).
Esa cajita, la envío abierta a mi amigo.
Él, introduce el mensaje en la **caijta ** y la cierra de tal modo que solo la pueda abrir yo con mi llave privada. Me la envía de regreso.
Después de tener la **cajita **en mis manos, soy el único que la puede abrir con mi llave privada.
o Cifrado asimétrico de un sólo camino
Sirve para mandar mensajes privados entre varios nodos con la lógica de que firmas tu mensaje con una llave pública vinculada con una llave privada que puede leer el mensaje.
El flujo es:
Este algoritmo es completamente seguro, así es cómo se mandan las comunicaciones en bancos, la comunicación entre servidores o las firmas electrónicas.
Ésto es lo que yo entendí con la explicación:
Ya te sientes mas profesional con este curso jejejje
Aquí un resumen de lo expuesto:
Si les parece interesante el tema de la criptografía vean la peli El Código Enigma que trata sobre la vida de Alan Turing uno de los padres de la ciencia de la computación y cómo descifró los mensajes secretos que los alemanes trasmitían entre sí
Basicamente es como cuando tu y la otra persona comparten una experiencia, y ambos se rien sin ue nadie sepa lo que está sucediendo… Porque los demás no pueden descifrar algo que solamente existe o se relaciona entre tu y la otra persona… Siendo un tanto mas visuales
He leido acerca de el funcionamiento de las llaves publicas y privadas. Se acuerdan de esos numeritos que nos enseñaron en la escuela que se llaman números primos ? … Pues estos números tienen mucho que ver en el cifrado de mensajes! … La base es la siguiente: Multiplicar dos números primos es una operación muy sencilla, pero si nos dan un número del que sabemos que es el producto de dos primos; descomponer dicho número para encontrar los dos primos que están escondidos en el es una operación muy complicada. Entendiendo que los ordenadores tendrían que tener mucha potencia de cálculo para calcular esos números (no creas que te van a poner un numerito como el 9 !, la cosa cambia un poco cuando te ponen un número de 600 digitos verdad?). Así podriamos mandarle un mensaje a alguien conociendo el valor del producto de dos primos que él ha escogido pero para descifrarlo tendríamos que conocer cuales son esos dos primos, creo que te habrás dado cuenta de lo dificil que se pone!!! … Y yo creyendo que los numeros primos no servian para nada…
Las llaves publicas y privadas permiten a los usuarios enviarse mensajes de forma segura.
Funcionamiento de las laves publicas y privadas:
Recuerda que las llaves publicas y privadas están vinculadas matemáticamente la una con la otra.
![](
Hasta donde tengo entendido un sistema asimetrico de cifrado hace uso de un numero primo compuesto para cifrar un mensaje, se utiliza el agoritmo de cifrado, cuando se ha cifrado el mensaje ya no se puede volver a descifrar. Solo se descifra usando el otro factor del numero compuesto, la llave privada contiene ese factor. Por ese motivo es seguro hacer uso de las llaves publicas ya que no se puede obtener los dos factores (a menos que tengas una computadora cuantica jaja)
Me siento como un espía
Creas una llave publica y una privada:
-La privada siempre se queda contigo y únicamente envías la publica para que cifren el mensaje y te devuelven tu misma llave publica con un mensaje.
-Una vez lo tengas de regreso lo puedes descifrar con tu llave privada (Que nunca compartiste con nadie e.e).
Muy parecido a la criptografia que se usa en la creación de las direcciones de Bitcoin: Tienes la dirección de bitcoin (que es siempre publica) y tienes la llave privada(que es secreta) mas info acá: www.bitaddress.org
Las clases de criptocositas te lo explican de una manera un poco más sencilla, sorprendentemente.
Lo siento freddy
🔑 Nos ayudan a proteger y dar seguridad a la información.
Llave pública: Nos permite cifrar el mensaje y todos la pueden ver.
Llave privada: Nos permite descifrar el mensajes y nadie más la puede ver.
muy bien explicado freddy, había oído antes sobre las llaves publicas y privadas pero tu me lo hiciste entender de una forma muy sencilla
Tomé el curso de git y github en 2018. Me animé a tomarlo de nuevo con la expectativa de descubrir cosas nuevas gracias a las habilidades que tiene Freddy para enseñar. No me equivoqué. Este tema de las llaves, por ejemplo, no lo tenía claro. Tampoco viví la experiencia de ver como se modificaban los archivos en el editor de código a la hora de saltar de una rama a otra o al momento de ubicarme en un _ commit _ viejo.
Gracias por la explicación Freddy.
Ahora entiendo como funciona este sistema de encriptación que protege nuestra información, inicia con la creación y el intercambio de llaves publicas, luego se envían y son usadas para encriptar archivos, después se envían los ficheros seguros y se usan las llaves privadas para desencriptar o descrifrarlas una vez los tenga su destinatario, por ultimo se procede a leer la información, de esta manera se evita así el robo de datos y otros problemas.
Que bien método de seguridad.
Es decir, si quiero un " Mensaje Secreto " de otra persona; la otra persona debe cifrar su mensaje con mi llave publica, para poder leer el mensaje con mi llave privada?
Este curso lo tome hace 24 meses y hay clases donde no entendí un carajo, jaja xp, hoy después de un proceso de no parar de aprender y verlo por 2 vez, me quedan claras muchas cosas. creo que el no parar de aprender ver mas cosas regresar y aprender o entender algo que ya viste siempre pasa, en verdad que es difícil ensañar algo. pero platzi lo hace posible. jeje nice.
INTERPRETACIÓN
Es una breve ilustración de una analogía que encontré en internet ¡Espero resulte útil!
Mi cabeza exploto con esta clase, de verdad te sientes muy pro , sabiendo todo esto , y te da muchas buenas ideas de cuidarte las espaldas de hackers mal intencionados.
Magnífico Freddy, los demás profesores y profesoras deberían tomar y aprender tu estilo de enseñanza, no digo que no enseñen bien, solo que les falta enfocar más la atención de los estudiantes empleando lenguaje no verbal y tonos de voz.
Las llaves publicas y privadas permiten a los usuarios enviarse mensajes de forma segura.
Funcionamiento de las laves publicas y privadas:
Un usuario crea un llave publica y privada.
El mismo usuario publica su llave publica.
La persona que quiera enviarle un mensaje secreto utiliza la llave publica para cifrar el mensaje.
El mensaje cifrado es recibido por la persona inicial, quien la descifra con su llave privada.
Recuerda que las llaves publicas y privadas están vinculadas matemáticamente la una con la otra.
No es mas fácil llamar a la llave pública, llave de cifrado, y a la llave privada, llave de descifrado?
Así, si no tienes la llave de descifrado (llave privada) no podrás leer el mensaje.
Lo digo porque, gracias a Freddy pude entender esta clase, sino los nombres (llave pública/ privada) me estaban llevando por una idea equivocada.
muy buena explicación, concuerdo con mis compañeros que buena explicación
Con la llave publica solo puedes cerrar el candado. Con la llave privada solo puedes abrirlo.
Fredy lo explica muy bien!!
Fredy es un CRACK para explicar todo de manera sencilla!
Ay Dio… Mio! Soy el HACKER BB!
Llave publica: Proceso matemático de cifrado
Llave privada: Proceso matemático de descifrado
La llave privada esta hecha especialmente para descifrar el cifrado de su llave publica.
Para hacer la explicacion mas sencilla:
yo tengo un cofre (llave publica) con su respectiva llave (llave privada), mando el cofre abierto, para que al que se lo mande ponga algo adentro, esa persona pone lo que tenga que poner y lo cierra y me lo manda de nuevo.
Como nadie tiene la llave nadie lo puede abrir, excepto yo.
Estamos a poco de que los ordenares cuanticos rompan los cifrados de hoy en dia.
Os dejo este video donde explican algo más sobre el tema de la clave publica y privada. Además, os animo a suscribiros al canal, es sobre matemáticas muy interesantes y muy bien contadas.
https://youtu.be/Q8K311s7EiM
¡Paz!
“Cifrado asimétrico de un solo camino”
Ayuda un montón una explicación gráfica y que sea tan clara de entender.
Que fácil es todo cuando te lo explica Freddy
Así es cómo funcionan las transacciones de bitcoin, verdad no?
la aplicacion de whatsapp dice que los mensajes estan cifrados de extremo a extremo, entiendo que estan usando esta tecnica de llave privada y llave publica… si es asi yo tengo la llave privada cuando creo mi cuenta y que cada vez que acepto un contacto es por le estoy dando mi llave publica…si esto es asi, cuando clonan un whatsapp es porque el usuario dueño de la cuenta le dio la cllave privada al hacker?? es asi o estoy totalmente perdida
Es el link de un articulo que menciona como poder crear las claves para las cuentas privadas:
Podemos usar el siguiente ejemplo para entender rápidamente el funcionamiento de las llaves publicas y privadas:
llave privada = una llave
llave publica = un candado
yo puedo compartir mi candado al mundo (internet) sin peligro y si alguien quiere enviarme algo cifrado simplemente lo encierra o bloquea con el candado que tengo publico (llave publica) y yo lo podre abrir con mi llave (privada), asi solo existe una llave (privada) con la cual abrir mi candado (llave publica) el cual puedo compartir sin peligro por internet.
Cifrado asimétrico de un mismo camino
Las llaves públicas y privadas sirven como un mecanismo muy poderoso de cifrado imposible de romper.
No importa si el mensaje o incluso la llave pública son interceptados, sin la llave privada no se pueden descifrar.
Alerta. Vengo del futuro donde skinet se apodero y adapto a la computación cuántica de Qbits y se cargo el gran y poderoso sistema de cifrado!
Si eres de las personas que ya sabian algo de Git y Gihub y estas viendo este curso. No creas que estas perdiendo el tiempo, de verás sirve repasar estos conceptos y llenar vacios. Esto sirve de mucho
Hace un tiempo me tuve que explicar, en un curso, este tema a gente que no entendía muchos de los conceptos necesarios y surgió la siguiente analogía:
Imaginemos que:
Cuando creo mi clave pública y privada, creo un candado que solo puede ser abierto por una llave. Puedo crear tantos candados iguales como quiera, pero una sola llave que los abra a todos. Después puedo repartir los candados de forma libre, ya que los candados sin la llave no sirven para nada.
Cuando alguien quiera mandarme un mensaje secreto solo deberá colocar la carta en un cofre, conseguir uno de mis candados y colocárselo. Si me envía ese cofre, solo yo (que tengo la llave) voy a poder abrirlo. Cualquier otra persona que capture el cofre con el candado no va a poder abrirlo ya que lo único que puede conseguir de manera pública son mis candados, pero no la llave que los abre.
Creo que esta analogía explica de forma intuitiva como funciona está tecnología (ojo, es algo muy resumido y escueto, el funcionamiento real difiere y es mas complejo).
De esta manera podemos explicar como es seguro repartir tu clave publica o dejarla en un foro o un blog y que no pase nada: tener un candado no va a hacer que puedas recrear una llave.
Y, para aquellos que piensan que podemos recrear una llave desde un candado, tengan en cuenta algo que esta analogía se saltea y es que, el proceso por el cual podríamos hacerlo con las llaves pública y privada se realiza por fuerza bruta y se tardaría decenas o incluso cientos de años de computo para poder realizarlo.
Espero que esto les sirva para comprender un poco mejor el tema. Saludos.
El hacker intentando descifrar el mensaje:
Les comparto mi análisis en base a lo que Freddy menciono, que todas las finanzas modernas que usan servicios web o envío información sensible como datos de tarjetas de crédito, por medio de la web operan y como resulta ser.
![](
Comparto un vídeo sobre la explicación de las claves públicas y privadas, aunque explica temas un poco más complejos, me ha servido para entender mejor.
https://www.youtube.com/watch?v=On1clzor4x4
Trataré de resumirlo de manera mucho mas facil y a como yo entendí:
Tu vas a enviarle un msj a juanito, este tiene dos llaves una publica y privada por lo tanto le pides a juanito que te envie su llave publica y con esa llave encriptas el msj que le vas a enviar, y al momento que le llegue a juanito el msj lo desencripta con su llave privada.
Asi que por mas que alguien intercepte ese msj que envias no podrá desencriptarlo porque no tiene la llave privada que esta “siconronizada” con la publica.
En Google hay un curso excelente sobre principios de de soporte tecnico, y en uno de los cursos finales (ciberseguridad), explican muy bien el funcionamiento de las llaves públicas y privadas, incluyendo tecnología sha256.
Algo que también se puede hacer es firmar con la llave privada, y se puede desencriptar con la llave publica… Se usa para validar que alguien firmó algo, es decir, no va ser secreto ya que todo el mundo podría llegar a tener la llave pública. Pero sirve para validar el origen, ya que solo el dueño de la llave privada lo pudo haber firmado.
con esta clase mi cabeza volo a otra dimension…
Jajaja cuando paso el “Curso de Git” a un “Curso de Criptografía” :V
yo despues de hacerle un ataque DDoS a google y tumbar los servidores
Las llaves SSH son una credencial de acceso que se utiliza en el protocolo SSH (Secure Shell). Con las llaves SSH se establece una comunicación segura y encriptada entre tu computadora y un servidor remoto; basado en el modelo cliente-servidor, el protocolo autenticará las dos partes: tu computadora y el servidor remoto y, cifrará los datos entre ellas.
Es así que, para autenticarte con las llaves SSH, primero debes crearlas y almacenarlas en tu computadora y, luego configurar el servidor remoto para que reconozca y acepte estas llaves.
Las llaves SSH se generan en pares, una llave pública (con extensión .pub) y una privada (sin extensión).
La llave pública se puede compartir libremente con cualquier servidor SSH al que desees conectarte, como por ejemplo GitHub.
La llave privada es secreta, se almacena en tu computadora de forma segura, generalmente en el directorio (~/.ssh) y no debes compartirla con nadie.
La relación entre la llave pública y la llave privada permite que la llave pública cifre mensajes que solo la llave privada podrá descifrar, a esto se le conoce como cifrado unidireccional.
Cuando intentes iniciar sesión, se compararán las llaves, la pública y la privada y si existe una coincidencia entre ambas, podrás acceder al servidor, sin necesidad de una contraseña.
esto pudo haber estado en el curso de administracion de servidores y/o manejo de protocolo ssh
y justo ayer estaba viendo unos libros de Linux para Hackers jajaja
Después de muchos videos sobre las llaves públicas y privadas, nunca me había quedado claro como en realidad funcionaban; hasta hoy. Maravillosa explicación.
llaves publicas llaves privadas = Bitcoin
El conocimiento es poder
como funcionan las llaves publicas y privadas
Este curso especialmente es uno al que vuelvo continuamente a repasar cada que necesito recordar ciertos conceptos, es un curso algo dificil pero sin duda de los mejores de Platzi.
Esto de las llaves relacionadas se me imagino a las varitas mágicas de Harry Potter, dejó ejemplo:
Dos varitas mágicas hermanas son creadas por la misma persona, esa persona le envía una de las hermanas (llave pública) a fulanito, fulanito con la varita mágica convierte el objeto (mensaje secreto) en una caja negra (mensaje cifrado) , y se la envía, ahora nadie sabe qué es realmente la caja negra a pesar de que la vea o la tenga, sólo cuando llegue la caja negra a manos del mago que la creo, con su varita mágica hermana (llave privada) volverá a convertir a la caja negra en el objeto que es… jajajaja bien fantasioso pero por si a alguien le sirve para entenderlo rápidamente.
Proceso de enviar mensajes secretos y encriptados.
Un mensaje secreto se envía como una especie de Código que solo el receptor lo puede descifrar con una contraseña.
Uso de llave pública y privada.
Teniendo la lógica anterior, como lo puedo cifrar y como puedo enviar la contraseña al recepto sin que sea vulnerable. Un mensaje se encripto con la llave publica, este es el único que navega por internet y solo es descifrada por el que tenga la llave privada (La llave privada no se moverá por internet).
- Les comparto mis apuntes de la clase
(todo unos hackers entendiendo este concepto y sabiendo que haremos una transeferencia de datos segura jajaja)
Para poder enviar un mensaje de manera segura, debemos pedirle al receptor que:
- haga una llave publica y otra privada, las cuales están vinculadas matemáticamente.
- Le pedimos que nos mande su llave pública, la cual es un proceso matemático que nos ayudará e cifrar nuestro mensaje.
- Enviamos el mensaje encriptado y el receptor podrá abrir este mensaje cifrado con su llave privada y leer nuestro mensaje.
y ya uwu
Para los que siguen un poco confusos pueden imaginarse que la llave pública es como un candado y la llave privada es la llave de ese candado, por lo que aquello que envías a la otra persona es el candado y ella lo usa para cerrar una caja que contenga el mensaje y cuando te llega tú lo abres con tu llave privada.
esta clase simplemente nos dice: bienvenido blockchain!
Aporte del compañero Cesar Ochoa Bulbarela
Las llaves publicas se pueden ver como cajas, yo le mando la caja a alguien, esa persona “mete” su mensaje en la caja y me la regresa cerrada, y solo yo tengo la llave (privada) para abrir esa caja.
Lo quise colocar de nuevo para las personas que por lo general lee los últimos comentarios xd
Las llaves publicas se pueden ver como cajas, yo le mando la caja a alguien, esa persona “mete” su mensaje en la caja y me la regresa cerrada, y solo yo tengo la llave (privada) para abrir esa caja.
Me sirvió ponerlo por pasos para entenderlo mejor, aquí se los dejo:
Las laves se vuelven algo super importante a partir de abril del 2021 ya que github elimino el soporte para usuario y contraseña desde la terminal
ademas de SSH. Apartir de 13 de agosto de 2020 github exige el uso de tokens de acceso personal.
ssh-keygen
crea una llave ssh modo de uso para crear una llave con encriptación rsa
ssh-keygen -t rsa -b 4096 -C [email protected]
eval “$(ssh-agent-s)” evalúa que este corriendo un agente ssh
ssh-copy-id -C copia la llave publica
cat nombredelallave.pub muestra la llave publica y desde ahí la podemos copiar
significado de los modificadores o flags
-t tipo de cifrado que se usara
-b número de bits de largo que tendrá el cifrado
-C es un comentario
Para enviar un mensaje desde A hasta B, se debe cifrar el mensaje de A(inicio) con la llave publica de B, de tal modo que solo B pueda decifrar el mensaje con su llave privada, ya que tanto la llave publica como la llave privada se relacionan porque se creaon al mismo tiempo en B.
s¿Cómo funcionan las llaves públicas y privadas?
Espero a alguien le sirva esta forma de verlo 😃
Empujar a un nuevo repositorio con un archivo README (Léeme)
Ejecuta git init en la terminal. Esto inicializará la carpeta/repositorio que tienes en tu computador local.
Ejecuta git add .
Ejecuta git commit -m “inserta Mensaje aquí” . …
Finalmente, ejecuta git push origin master para empujar tus archivos a Github.
La explicación de Freddy para digerirlo de manera simple esta genial, pero, si la llave es pública y está publicada en internet, ¿Cómo puedo estar seguro que los mensajes que recibo es de la persona correcta? Ahí es donde entra nuestra llave privada nuevamente, sirve para firmar el mensaje y con nuestra llave pública se puede verificar que es la persona correcta.
Ilustración simple que explica todo el procedimiento.
Algunos recursos para profundizar mas sobre el tema: vídeo, post detallado.
Acá comparto un poco mas de información sobre el uso de las llaves de git
https://programmerclick.com/article/90311674092/
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?