Hola, ¿qué tal? ¿Cómo estás? Espero que todo vaya muy bien. Te saluda Alex Ávalos y te doy la bienvenida a Panel de Control,
el podcast para quienes quieren tener el control de su propio servidor y disfrutar de la ventaja del Hosting VPS.
Las contraseñas tienen un gran problema. Las tenemos que escribir.
Y cada vez que las escribimos existe la posibilidad de que alguien pueda verlas o que alguien pueda tener acceso a ellas porque sabe dónde las estamos guardando.
Pero además también las podemos escribir mal.
Y puede ser que nosotros creamos que está bien, pero estamos usando una contraseña débil.
Porque una contraseña fuerte es difícil de recordar, casi imposible.
O puede ser que la estemos guardando en un sitio equivocado, por ejemplo, en un archivo de texto o en un Excel.
O que la estemos usando en diferentes herramientas, sitios, en varios lugares.
Y si alguien da con esta contraseña, pudiera entrar en nuestro servidor.
Y esto es así de simple.
Ahora, pensa en esto.
¿Cuántas veces has escrito vos la contraseña para conectarte a tu servidor por medio del SSH?
¿Diez veces?
¿Cien?
¿Mil veces?
Bueno, cada vez que te conectas, cada vez es una oportunidad de que algo pueda salir mal.
Por eso las SSH Keys o las claves SSH resuelven esto.
porque no hay contraseñas que escribir, no hay contraseñas que recordar
y no hay contraseña que alguien pudiera adivinar.
Es como tener una llave física, una llave en tu mano para entrar en tu casa.
No tenés que recordar una combinación.
Vos tenés la llave o no la tenés.
Y si tenés la llave, la puerta se abre.
Las llaves o claves SSH funcionan con un concepto muy simple.
Yo no sé si recordás en estas películas en las que iban a acceder a la bóveda secreta o que iban a acceder al control central que había en un lado, en un extremo, un lector de tarjeta y en el otro extremo otro lector de tarjeta y que tenían que introducir la tarjeta a la misma vez.
Y si no, no podías acceder. O no sé, bueno, al día de hoy, bueno, yo no sé cómo estará la tecnología ahí por tu lado.
Pero en este lado, aún en todas las puertas de todas las casas, hay una chapa y una llave.
Entonces la chapa, hay muchas chapas, pero hay una llave que abre la chapa de tu casa.
Como te decía, con las claves SSH, el concepto es simple porque es un par de llaves.
Una pública y una privada.
La pública es la que compartís con tu proveedor de VPS, es la que añadís en el dashboard de tu proveedor VPS,
es la que va en tu servidor.
Es como la chapa o la cerradura de tu puerta.
Puede estar a la vista y no importa si alguien la ve. En cambio, la llave privada es así. Se queda única y exclusivamente en tu computador. En tu computadora. Nunca la compartís. Nunca la subís a ningún lado. Esa es tu llave personal. Solo tuya.
¿Y cómo funciona? Cuando intentas conectarte al servidor, tu computadora usa la llave privada para demostrar que sos vos.
El servidor verifica con la llave pública y si coinciden, te deja entrar.
Sin escribir contraseñas, sin enviar nada por la red. Todo pasa en milisegundos.
Es matemáticamente perfecto y seguro.
Para romper una clave SSH de, por ejemplo, 2048 bits, harían falta miles de años, miles, miles de años con las computadoras actuales.
Como verás, hay muchas ventajas al usar llaves SSH comparando con las contraseñas.
En este episodio te voy a compartir las cuatro que a mí me parecen las más top.
Vamos a ver.
Primera ventaja, la seguridad.
Una clave SSH bien configurada es mucho más segura que cualquier contraseña.
No importa qué tan fuerte sea esa contraseña.
Como te decía, una clave o llave o SSH key de 1048 bits va a ser siempre mucho más segura.
Segunda ventaja, comodidad.
Parecería que no, pero sí.
Una vez configurada, nunca más vas a tener que escribir una contraseña.
Te conectas y ya.
Solo escribís SSH, espacio, tu usuario, arroba, la IP de tu servidor, pum, y entras automáticamente.
Tercera ventaja, la automatización.
Puedes crear scripts que se conecten a tu servidor sin ninguna intervención manual de tu parte.
Imaginación al poder.
Imagínate backups automatizados, despliegues automatizados, monitoreo continuo y todo sin tener que meter contraseñas en ningún archivo.
Cuarta ventaja.
El control.
Puedes tener diferentes claves o llaves SSH para diferentes propósitos.
Y puedes tener una para diferentes dispositivos.
Una para tu laptop, una para tu computadora de escritorio, una para tu servidor de backups, etc.
Por ejemplo, si perdieras tu laptop, simplemente quitas esa SSH aquí, quitas esa llave y las demás van a seguir funcionando.
Vamos a ver cómo se usan y voy a procurar compartirte esta parte con el mínimo tecnicismo posible, aunque por supuesto este tipo de procesos es mucho mejor verlo que escucharlo.
Pero pues ya estamos aquí y vamos a sacar la faena adelante. Este proceso es muy simple y tanto así que lo vamos a ver en cuatro pasos, no cinco, no seis, cuatro.
Paso número uno, generar el par de llaves.
En tu computadora generas estas dos llaves, la pública y la privada, y esto se tarda segundos.
En un piz! plaz! Passphrase lo tenés.
Paso dos, copiar la llave pública a tu servidor.
La llave pública la subís a tu servidor y se guarda en un archivo específico dentro de la configuración SSH.
Por lo tanto, el protocolo SSH sabe dónde debe buscar.
Paso número tres, configurar el servidor.
Vos le tenés que decir al servidor que acepte las claves SSH en lugar de la contraseña.
O mejor aún, le podés decir que única y exclusivamente solo acepte llaves SSH y no contraseñas.
Paso número cuatro, y ya está, ya llegamos al final.
Conectarte. Desde ese momento, cuando te conectas, el SSH usa automáticamente tu llave privada, no pregunta contraseñas, solo verifica hacer el match y te deja entrar. Fácil y sencillo.
Eso sí, un detalle importante. Cuando en el paso 1 te creas el par de llaves, generas el par de llaves. Hay un paso en el que te pregunta si quieres añadir una passphrase, una clave secreta, una clave de verificación como una contraseña.
Más o menos, hacer esto es como ponerle una contraseña a tu propia llave. ¿Es obligatorio? No. ¿Es recomendable? Sí. ¿Por qué? Porque si alguien, por ejemplo, logra dar con tu inicio de sesión, va a poder conectarse a tu servidor.
O por ejemplo, si alguien roba tu laptop y está puesta tu llave privada, claro, y no tiene este passphrase o esta clave adicional, pues va a entrar fácilmente a tus servidores.
Pero si la tiene, va a necesitar esta contraseña, esta palabra o estos caracteres para poderse conectar.
Esto es una capa extra de seguridad, no es obligatoria, pero a mi criterio es muy recomendable.
Bueno, ya a este punto estamos viendo ventaja tras ventaja tras maravillosa ventaja, sí, pero no es oro todo lo que reluce.
También en el uso de las claves o llaves SSH podemos cometer errores.
Vamos a ver, quiero ver, tres, cuatro, vamos a ver cinco errores comunes.
¿Ok?
Error número uno, copiar la llave privada en múltiples lugares.
La llave privada debe estar solo en tu computadora, no en Dronebox, no en Google Drive, no en una USB, no.
en tu computadora y pare de contar.
Error número dos.
Usar la misma clave o llave SSH para todo.
Para los servidores, para las apps, para los servicios, para GitHub, para todo.
No.
Si la llave se pierde o se compromete, vas a perder acceso a todo.
Lo recomendable es usar una llave para cada propósito.
Error número tres.
No hacer backup de la llave. Si se te rompe el disco duro de tu computadora o se estropea, vas a perder tu llave privada y vas a perder el acceso a tus servidores. Hace backup, pero guardalo de forma segura. Es decir que esta llave, este backup, tiene que estar encriptado en un lugar que solo vos sabes cuál es.
Error número cuatro. Compartir llaves privadas con otros.
¡Ey, hombre! Conectate rápido. Toma, usa mi llave.
¡No, por favor, no!
Cada persona debe tener su propia clave, su propia llave.
Así sabes quién entra.
Pero también, si alguien deja de trabajar en tu proyecto o se va del equipo,
simplemente eliminas su llave y ya lo tenés.
No tenés que eliminarla de todos.
Y error número 5. Olvidarse de eliminar las llaves en desuso o viejas.
Cambiaste la laptop, bien, pues, o la vendiste.
Bueno, ¿borraste la llave, tus llaves antes de venderlo?
No. Si no lo hiciste, es muy recomendable eliminar esa llave en desuso del servidor.
Y esto hacerlo hoy. No lo dejes para mañana.
Hombre Alex, pero yo voy comenzando en esto del VPS.
Pues no tengo mucha experiencia. Todavía se me hace un poco complejo.
¿Cuándo debería yo implementar esto de las SSH Keys o claves SSH?
Mirá, mi recomendación es inmediatamente.
Entre más rápido te habituas a esto es mucho mejor.
Pero también podríamos, digamos, dejar un punto de referencia después de que ya has implementado las cuatro capas básicas que hablamos en el episodio anterior.
Otro usuario, no el usuario por defecto, implementar el firewall, el root deshabilitado, implementar el fail to ban. Pues ya cuando tenés esto básico, ya debería de ser el momento de implementar las SSH aquí.
Porque las claves SSH requieren que ya tengas, digamos, cierta noción y entendimiento de cómo funciona el protocolo SSH.
Y si las configuras mal o hay un error, puedes quedarte fuera de tu servidor.
Pero una vez que las tenés, hombre, deshabilitas completamente la autenticación por contraseña y estableces que tu servidor acepte sí, sí y solo sí SSH key, wow, y ahí sí.
Vas a tener la seguridad ya en otro nivel.
Los ataques de fuerza bruta ya no van a tener sentido porque no va a haber contraseña que tengan que adivinar.
Y bueno, vamos cerrando ya esta terminal. Te recuerdo que las llaves o claves SSH son por supuesto mucho más seguras y más convenientes que las contraseñas. Son el siguiente paso después de la seguridad básica.
En el próximo episodio vamos a hablar sobre las actualizaciones automatizadas o automáticas y por qué tu servidor necesita mantenimiento constante.
Si tienes alguna duda sobre las SSH Keys o quieres compartirme tu experiencia con tu propio servidor VPS, ya sabes, no te voy a dar la IP, pero sí la URL.
paneldecontrol.org/contacto
Nos conectamos en el próximo episodio.
¿Te parece?
Espero que sí.
Salud.