PTENES
INEMA.CLUBPROSSH y claves SSH

Ruta de aprendizaje · SSH y VPS

Tu puerta de entrada
a la propia VPS

Nueve clases cortas para que te conectes a tu VPS desde la terminal, entiendas las claves SSH y resuelvas por tu cuenta los bloqueos más comunes, sin esperar al soporte técnico por cada ajuste.

Ruta de aprendizaje · Clase 1

Qué es SSH

Al final de esta lección, reconocerás, en cualquier comando de conexión remota, los 4 elementos que siempre debe tener, sin memorizar ningún código.

Hoy, cuando algo se bloquea en la automatización que se ejecuta en tu VPS, dependes de enviarle un mensaje al soporte y esperar. Las próximas clases resuelven eso, pero antes necesitas entender qué sucede realmente cuando alguien «entra» en un servidor. Sin esta base, cualquier comando se convierte en algo que hay que memorizar.

↓ desplázate para estudiar

01 El corredor privado hasta tu VPS

Una VPS es una computadora que permanece encendida las 24 horas en un centro de datos, ejecutando la automatización de tu negocio. El SSH es el corredor privado que conecta tu computadora directamente con ese servidor, sin tener que viajar hasta el centro de datos.

Después de que Marta, dueña de un salón de belleza, se conecta por SSH a la VPS donde se ejecuta la confirmación automática de citas por WhatsApp, todo lo que escribe empieza a ejecutarse allí, ya no en su laptop.

02 Para qué sirve este corredor en la práctica

Con SSH entras en la VPS y resuelves con tus propias manos lo que hoy requiere soporte: reiniciar un servicio bloqueado, revisar por qué no se envió un mensaje, ajustar un archivo o simplemente confirmar que todo funciona.

Ricardo, dueño de una tienda de ropa, usa una automatización que publica las novedades de la colección por sí sola. Cuando deja de publicar, SSH le permite entrar a la VPS y ver qué pasó en ese mismo minuto, en vez de esperar a que alguien esté disponible.

No necesitas entender todo el servidor: solo necesitas saber abrir la puerta correcta cuando sea necesario.

03 Los 4 elementos de toda conexión

Toda conexión por SSH —la de Marta, la de Ricardo, la de cualquier persona— siempre depende de los mismos 4 elementos, ni uno más ni uno menos:

  • El cliente SSH — el programa en tu propia computadora que inicia la conversación.
  • El servidor SSH — el servicio que permanece activo dentro de la VPS, esperando que alguien llame a la puerta.
  • La IP de la VPS — la dirección pública que indica dónde está, como un número de casa.
  • A autenticación — contraseña o clave, la prueba de que realmente eres tú quien está entrando.

Ponte a prueba

Si cambias de VPS (por ejemplo, usas Hostinger en vez de AWS), ¿cuál de los 4 elementos cambia?

04 Qué cambia cuando entiendes esto

La primera vez, un comando de conexión parece una fila de símbolos extraños. Después de esta clase, se convierte simplemente en esto: cliente, servidor, IP y autenticación, en un orden fijo; nada más.

Marta miraba ssh root@123.123.123.123 como un enigma. Hoy ya sabe: es su cliente (el ssh) autenticando a un usuario (root) en una dirección (123.123.123.123) — los 4 elementos, en el mismo orden de siempre.

Antes

Un comando de conexión era un bloque de texto para copiar sin entender, con la esperanza de que funcionara.

Después

El mismo comando se convierte en 4 piezas reconocibles, y sabes cuál ajustar cuando algo cambia.

Practica ahora 0/2 hecho

Identifica los 4 elementos en un caso real

Lee el minicCaso de abajo y señala los 4 elementos — ~8 min.

No hay nada que puedas romper aquí: solo es lectura y razonamiento, sin tocar ninguna VPS real.

Minicaso

Marta quiere entrar en la VPS donde se ejecuta su automatización de WhatsApp. Abre la terminal de su propia laptop y escribe ssh admin@45.77.12.9. Aparece un aviso que pide la contraseña; ella la escribe y entra. Ricardo, en la tienda de ropa, hace lo mismo, pero en su VPS la dirección es otra y el usuario también.

ver la respuesta comentada

IP: 45.77.12.9 — la dirección de la VPS de Marta. Usuario: admin — quién se está autenticando. El cliente es la terminal de su laptop; el servidor es el servicio SSH activo dentro de la VPS. En el caso de Ricardo, la IP y el usuario cambian porque son de otra VPS, pero los 4 roles (cliente, servidor, IP, autenticación) siguen siendo los mismos, porque así funciona siempre SSH.

Acabas de aprender a reconocer los 4 elementos de cualquier conexión SSH: la base que se usa en todas las próximas clases.

Resumen

  • SSH es el corredor privado que conecta tu equipo directamente con una VPS encendida las 24 horas.
  • Toda conexión siempre depende de los mismos 4 elementos: cliente, servidor, IP y autenticación.
  • Entender estos 4 elementos convierte un comando de conexión de «enigma» en algo reconocible.

Tu siguiente paso

Acabas de aprender a descomponer cualquier comando de conexión SSH en sus 4 elementos.

Durante los próximos 15 minutos: abre el comando de conexión a tu propia VPS (si ya lo guardaste en algún lugar) e identifica por tu cuenta qué parte es la IP y cuál es el usuario.

En la próxima clase, comprobarás si SSH ya está listo en tu Windows y harás tu primera conexión de verdad.

1"> [ {"front":"¿Cuáles son los 4 elementos que toda conexión SSH necesita?","back":"Cliente SSH, servidor SSH, IP de la VPS y autenticación (contraseña o clave)."}, {"front":"Cambias tu VPS de Hostinger a AWS. ¿Qué cambia en los 4 elementos y qué sigue igual?","back":"La IP cambia (es otro servidor); el cliente, el protocolo y la forma de autenticarte siguen igual."}, {"front":"¿Cuál es la diferencia entre el 'cliente SSH' y el 'servidor SSH'?","back":"El cliente es el programa de tu computadora que inicia la conexión; el servidor es el servicio dentro de la VPS que espera y responde."}, {"front":"Marta recibe un aviso que le pide la contraseña al intentar conectarse. ¿A cuál de los 4 elementos pertenece ese aviso?","back":"A la autenticación: la prueba de que es ella quien está entrando."} ]

Ruta de aprendizaje · Clase 2

Preparando el equipo
e a primera conexión

Al final de esta lección, comprobarás si SSH ya está listo en tu Windows y te conectarás por primera vez a tu propia VPS usando una contraseña.

Toda la teoría de la clase 1 solo se vuelve útil cuando recorres el pasillo de verdad, una vez. Es la diferencia entre saber qué es una llave de auto y sentarte en el asiento del conductor.

↓ desplázate para estudiar

01 Comprobando si SSH ya está en tu Windows

Esta es una receta sencilla: abres el terminal (CMD o PowerShell), escribe un comando de comprobación y lee la respuesta.

Marta abre el menú Inicio, escribe "cmd", abre el Símbolo del sistema y escribe ssh -V. Si aparece algo como OpenSSH_for_Windows, el SSH ya está instalado: ella no necesita hacer nada más en esta etapa.

ssh -V

02 Si no está instalado

Si no se reconoce el comando, Windows 10/11 tiene SSH listo para activar, sin descargar nada externo: Configurações → Apps → Recursos opcionais → Adicionar recurso → OpenSSH Client.

A Ricardo le pasó esto en la tienda: el comando dio error la primera vez, activó la función siguiendo la ruta de arriba, volvió a abrir la terminal y el ssh -V funcionó.

Error común

Probar el comando sin cerrar y volver a abrir la terminal después de activar la función. Windows solo reconoce SSH en una ventana nueva: cierra la terminal anterior y abre otra antes de volver a probar.

03 El comando de conexión y la primera pregunta

Con SSH listo, la conexión en sí es una línea: ssh usuário@IP_DA_VPS. Marta escribe ssh root@123.123.123.123 (la IP siempre es la de su VPS, no este ejemplo).

La primera vez que cualquier persona se conecta a una VPS nueva, aparece una pregunta: Are you sure you want to continue connecting?. Es la computadora confirmando que reconoces este servidor: escribe yes y Enter.

Ponte a prueba

¿Esta pregunta de confirmación aparece cada vez que te conectas o solo la primera vez con esa VPS?

04 Escribir la contraseña (que no aparece en la pantalla)

Después de yes, la VPS pide la contraseña. Ricardo, la primera vez, pensó que el teclado se había bloqueado: no aparecía ninguna letra mientras escribía.

Es así a propósito: por seguridad, la contraseña nunca aparece en la pantalla, ni siquiera como puntos. Escríbela normalmente y presiona Enter: se está recibiendo, solo que no se muestra.

Lista de verificación de la primera conexión

  1. Abre la terminal (CMD o PowerShell).
  2. Escribir ssh usuário@IP_DA_VPS con los datos de tu propia VPS.
  3. La primera vez, escribir yes cuando se te pregunte.
  4. Escribir la contraseña (no aparece en pantalla) y presionar Enter.

Practica ahora 0/3 hecho

Conéctate a tu VPS por primera vez

Confirmar que SSH está instalado y entrar a tu VPS con contraseña — ~10 min.

Conectarte y mirar no cambia nada en la VPS. Si algo parece estar mal, escribe exit y sales sin haber cambiado nada.

ssh -V
ssh usuario@IP_DA_VPS

Acabas de entrar en tu propia VPS por primera vez: la misma acción que Marta y Ricardo realizan cada vez que necesitan revisar algo de cerca.

Resumen

  • Windows 10/11 ya incluye una forma de activar SSH, sin instalar nada externo.
  • La primera conexión a una VPS nueva siempre pide una confirmación (yes) — solo la primera vez.
  • Por seguridad, la contraseña no aparece en pantalla, pero aun así se está recibiendo.

Tu siguiente paso

Acabas de conectarte a tu propia VPS por primera vez, con contraseña.

Durante los próximos 15 minutos: vuelve a entrar en tu VPS y fíjate en el "prompt" (el texto antes del cursor): cambia para indicar que ahora estás dentro del servidor.

En la próxima clase, aprenderás los comandos básicos para orientarte y trabajar en esta VPS sin miedo a perderte.

2"> [ {"front":"Escribiste ssh -V y Windows dijo que no reconoce el comando. ¿Cuál es el siguiente paso?","back":"Activar OpenSSH Client en Configuración → Aplicaciones → Características opcionales, luego cerrar y abrir una terminal nueva."}, {"front":"Al escribir la contraseña en la terminal, no aparece ninguna letra ni punto en la pantalla. ¿Eso indica algún problema?","back":"No: es un comportamiento de seguridad del propio SSH; lo que escribes se sigue recibiendo con normalidad."}, {"front":"La 3.ª vez que te conectas a la misma VPS, ¿debe volver a aparecer la pregunta 'are you sure...'?","back":"No: solo aparece la primera vez que te conectas a ese servidor específico."} ]

Ruta de aprendizaje · Clase 3

Desplazarse dentro
del servidor

Al final de esta lección, sabrás ubicarte dentro de tu VPS, desplazarte entre carpetas, consultar información básica y salir de forma segura.

Después de entrar (clase 2), el primer susto para quien nunca ha usado la terminal es no saber dónde está ni qué hacer a continuación. Estos 5 comandos resuelven el 90% de los casos de «estoy perdido».

↓ desplázate para estudiar

01 Dónde estás y qué hay aquí

Al entrar, puedes confirmar dos cosas: dónde estás y qué hay a tu alrededor. pwd muestra la ruta de la carpeta actual; ls lista los archivos y carpetas que contiene.

Marta entra en la VPS, escribe pwd y ves algo como /root — la «sala» donde llegó. Después escribe ls y ves los archivos de la automatización de WhatsApp que están guardados allí.

pwd
ls

02 Desplazarse entre carpetas

Para entrar en una carpeta, usa cd nome-da-pasta ("cd" para cambiar de directorio). Para volver una carpeta, cd .. — los dos puntos significan «la carpeta de arriba».

Ricardo quiere ver la carpeta de la automatización de publicaciones: escribe cd automacao, confirma con pwd, y cuando termines de revisar, escribe cd .. para volver de donde viniste.

Error común

Olvidar el espacio entre «cd» y el nombre de la carpeta, o escribir mal una letra del nombre. La terminal es muy literal: cdautomacao no funciona, y un nombre de carpeta incorrecto da «no encontrado». Compruébalo con ls el nombre exacto antes de entrar.

03 Consultando información y manteniendo el sistema al día

uname -a muestra información del sistema (qué versión de Linux está ejecutándose). En servidores basados en Ubuntu o Debian —los más comunes en VPS de automatización— sudo apt update && sudo apt upgrade -y actualiza los programas instalados.

Marta ejecuta esta actualización una vez al mes en la VPS del salón, igual que actualiza el celular: es mantenimiento preventivo, no corrige un problema específico.

uname -a
sudo apt update && sudo apt upgrade -y

Ponte a prueba

¿Hay que ejecutar el comando de actualización cada vez que entras a la VPS?

04 Salir de forma segura

Para salir de la VPS y volver a tu propio equipo, escribe exit y Enter. El prompt vuelve a cambiar, lo que confirma que ya no estás «dentro» del servidor.

Ricardo termina de revisar la automatización, escribe exit, y vuelve a ver el terminal de su propia laptop: señal de que cualquier comando que escriba ahora se ejecutará en la laptop, ya no en la VPS.

Lista de verificación de navegación básica

  1. pwd — dónde estoy.
  2. ls — lo que hay aquí.
  3. cd nome / cd .. — entrar / volver a una carpeta.
  4. exit — salir de la VPS de forma segura.

Practica ahora 0/2 hecho

Explora tu VPS sin riesgos

Ejecutar los 4 comandos para localizar los archivos y salir de forma segura — ~10 min.

pwd, ls, uname -a e exit solo leen información — ninguno borra ni modifica nada. Si algo parece extraño, exit siempre te saca de ahí.

pwd
ls
cd nome-de-uma-pasta-que-voce-viu-no-ls
cd ..
exit

Acabas de aprender a moverte dentro de tu VPS sin depender de nadie para «solo echar un vistazo».

Resumen

  • pwd e ls muestran dónde estás y qué hay allí: siempre el primer paso.
  • cd entra en una carpeta, cd .. vuelve — el terminal es literal con los nombres y los espacios.
  • exit sales de la VPS de forma segura y devuelves el control a tu computadora.

Tu siguiente paso

Acabas de aprender a ubicarte y navegar dentro de tu VPS sin bloquearte.

Durante los próximos 15 minutos: entra en la VPS, ejecuta ls, elige una carpeta que reconozcas y entra en ella con cd — después sal con exit.

En la próxima clase, entenderás las claves SSH: la forma más segura de entrar, sin escribir una contraseña cada vez.

3"> [ {"front":"Quieres volver una carpeta atrás sin saber su nombre. ¿Qué comando usas?","back":"cd .. — los dos puntos significan 'la carpeta de arriba'; no necesitas saber su nombre."}, {"front":"Diagnóstico: escribiste cd automcao y recibiste 'no encontrado'. ¿Cuál es la causa más probable?","back":"Un error al escribir el nombre de la carpeta: comprueba el nombre exacto con ls antes de intentarlo de nuevo."}, {"front":"Después de ejecutar sudo apt update && sudo apt upgrade -y, ¿tienes que volver a ejecutarlo la próxima vez que te conectes?","back":"No: es mantenimiento periódico, no un paso obligatorio en cada conexión."} ]

Ruta de aprendizaje · Clase 4

Entendiendo tus
claves SSH

Al final de esta lección, reconocerás, dentro de la carpeta de claves de tu computadora, qué archivo es privado y cuál es público, y por qué es normal tener varias claves.

A partir de la lección 6 crearás tu propia clave. Antes de eso, necesitas entender qué es una clave SSH y dónde se guarda; si no, volverás a memorizar cada paso siguiente.

↓ desplázate para estudiar

01 Por qué es normal tener más de una clave

Una clave SSH es una forma de entrar sin escribir una contraseña. Y, así como tienes llaves diferentes para la casa y el auto, es común tener una clave SSH diferente para cada servicio.

Marta tiene una clave para la VPS del salón y otra para GitHub, donde guarda el código de la automatización. Son claves separadas; cada una abre solo la puerta a la que pertenece.

02 Dónde están estas claves en tu computadora

En Windows, las claves se guardan en una carpeta oculta llamada .ssh, dentro de tu carpeta de usuario: C:\Users\SEU_USUARIO\.ssh\. En Linux o Mac, el mismo lugar se llama ~/.ssh/.

Ricardo encontró su carpeta en C:\Users\ricardo\.ssh\ — el mismo patrón, solo cambia el nombre de usuario de Windows de él.

La carpeta .ssh es un cajón solo tuyo: cada clave que guardas allí abre una puerta específica.

03 Reconociendo los archivos dentro de la carpeta

Dentro de .ssh puedes encontrar nombres como id_ed25519, hostinger_vps.pub, config e known_hosts. La regla para reconocerlo es simple:

  • Archivo sin .pub al final = clave privada.
  • Archivo con .pub al final = clave pública.
  • config = atajos de conexión (clase 8).
  • known_hosts = lista de servidores ya confirmados (la pregunta "yes" de la clase 2).

Ponte a prueba

Marta ve dos archivos: hostinger_vps e hostinger_vps.pub. ¿Cuál de las dos es la clave privada?

04 La regla de oro: la clave privada nunca sale de aquí

La clave pública (.pub) se puede colocar en cualquier VPS, en GitHub, en GitLab: solo sirve para «reconocer» la clave privada correspondiente, nunca para iniciar sesión por sí sola.

La clave privada nunca debe compartirse, copiarse a una nube pública ni enviarse por mensaje. Ricardo guarda la suya solo en su propia laptop, igual que lleva consigo la llave física de la tienda y nunca presta el molde para que cualquiera haga una copia.

Antes

Una sola contraseña que cualquiera puede intentar adivinar probando varias veces.

Después

Un par de claves: la pública se distribuye donde haga falta y la privada se guarda solo contigo; es imposible adivinarla probando.

Practica ahora 0/2 hecho

Reconoce tus propias claves

Lista tu carpeta .ssh y clasifica cada archivo — ~8 min.

Listar archivos solo muestra los nombres, no abre ni modifica nada dentro de ellos. Ningún riesgo.

dir %USERPROFILE%\.ssh

Acabas de aprender a reconocer, en tu propia carpeta, qué es privado y qué puedes compartir.

Resumen

  • Tener más de una clave SSH es normal: cada servicio puede tener la suya.
  • Las claves se guardan en la carpeta .ssh de tu cuenta de usuario, en Windows, Linux o Mac.
  • La regla que distingue los archivos: sin .pub es privada, con .pub es pública, y la privada nunca sale de tu computadora.

Tu siguiente paso

Acabas de aprender a reconocer la clave privada y la clave pública dentro de tu propia carpeta .ssh.

Durante los próximos 10 minutos: abre tu carpeta .ssh (si ya tienes una) y clasifica mentalmente cada archivo como "privado" o "público".

En la próxima clase, resolverás el error más común de quienes copian un comando del lugar equivocado, antes de crear tu propia clave en la clase 6.

4"> [ {"front":"¿Cuál es la diferencia entre la clave que conservas y la que va a la VPS?","back":"La privada (sin .pub) se queda solo en tu computadora; la pública (.pub) puede colocarse en la VPS, GitHub, etc."}, {"front":"Decisión: necesitas enviarle tu clave por mensaje a un compañero para que configure la VPS. ¿Qué archivo le envías?","back":"Ningún archivo privado: envíale solo el .pub y, aun así, es mejor que tu compañero genere su propia clave."}, {"front":"¿Por qué tiene sentido tener una clave para la VPS y otra para GitHub, en lugar de una sola para todo?","back":"Porque cada clave abre solo la puerta a la que pertenece; si una se filtra, las otras siguen seguras."}, {"front":"Contraste: ¿qué cambia entre 'perder la clave pública' y 'perder la clave privada'?","back":"Perder la pública no es grave (está hecha para circular); perder la privada es serio, porque es la prueba de identidad."} ]

Ruta de aprendizaje · Clase 5

CMD o PowerShell?

Al final de esta lección, reconocerás en qué terminal estás y evitarás el error de sintaxis más común al copiar un comando del lugar equivocado.

Windows tiene dos terminales diferentes, y un comando que funciona en una no funciona en la otra. Es la causa nº 1 de «lo copié tal cual y no funcionó»; vamos a resolverlo antes de crear tu clave, en la clase 6.

↓ desplázate para estudiar

01 Por qué hay dos terminales en Windows

Windows incluye dos terminales diferentes: CMD (símbolo del sistema, más antiguo) y PowerShell (más nuevo, con más funciones). Ambos abren una ventana parecida, pero entienden sintaxis diferentes para algunas cosas, como hacer referencia a la carpeta de tu usuario.

Marta abrió CMD sin darse cuenta, porque buscó "prompt" en el menú Inicio — PowerShell aparece cuando se busca "powershell". Ninguno de los dos es "el incorrecto"; simplemente son diferentes.

02 El error que aparece con más frecuencia: mezclar la sintaxis de los dos

Ricardo estaba en CMD, en la ruta C:\Users\ricardo\projetos\testes>, e intentó ejecutar type $env:USERPROFILE\.ssh\id_ed25519.pub — un comando de PowerShell, escrito dentro de CMD.

Error común

Usar $env:USERPROFILE dentro del CMD (o %USERPROFILE% dentro de PowerShell). El error aparece como algo parecido a «la sintaxis del nombre del archivo... no es correcta», porque $env:USERPROFILE es sintaxis de PowerShell, y CMD no la entiende.

03 La traducción entre los dos

La regla es: en CMD, la carpeta de tu usuario se escribe %USERPROFILE%; en PowerShell, se escribe $env:USERPROFILE. Es el mismo lugar, solo con una "palabra" diferente para cada terminal.

Marta aprendió a mirar el título de la ventana o el propio prompt: si aparece solo una ruta sencilla como C:\Users\marta>, suele ser CMD; si aparece PS C:\Users\marta> con «PS» al frente, es PowerShell.

04 Lista de verificación antes de copiar cualquier comando

A partir de ahora, todo comando que incluya %USERPROFILE% o $env:USERPROFILE en esta ruta indica para cuál de los dos terminales sirve; compruébalo antes de pegarlo. Fue exactamente ese hábito el que evitó que Marta repitiera el mismo error de Ricardo.

Lista de verificación rápida

  1. Mira el prompt: ¿tiene «PS» al principio? Es PowerShell. ¿No? Es CMD.
  2. En CMD, usa %USERPROFILE%.
  3. En PowerShell, usa $env:USERPROFILE.
  4. ¿Te dio un error de sintaxis? Comprueba si estás en la terminal correcta para el comando.

Practica ahora 0/2 hecho

Compara los dos terminales en la práctica

Ejecutar la misma solicitud en las dos terminales, cada una con su sintaxis — ~8 min.

Solo estamos enumerando el contenido de una carpeta; ninguno de los dos comandos modifica nada.

REM no CMD:
dir %USERPROFILE%\.ssh

# no PowerShell:
dir $env:USERPROFILE\.ssh

Acabas de aprender a reconocer, antes de escribir, qué sintaxis espera cada terminal.

Resumen

  • CMD y PowerShell son terminales diferentes, con sintaxis propias para algunas cosas.
  • El error más común es usar $env:USERPROFILE en el CMD, o %USERPROFILE% en PowerShell.
  • Mirar el prompt (¿tiene «PS» al principio o no?) te indica en cuál de los dos estás.

Tu siguiente paso

Acabas de aprender a identificar en qué terminal estás antes de pegar un comando.

Durante los próximos 10 minutos: abre las dos terminales una al lado de la otra y fíjate en la diferencia entre los prompts.

En la próxima clase, usarás exactamente este cuidado para crear tu propia clave SSH, de la forma correcta para tu terminal.

5"> [ {"front":"Estás en un prompt que empieza con 'PS C:\\Users\\...'. ¿Qué terminal es?","back":"PowerShell: la señal es el 'PS' al inicio."}, {"front":"Diagnóstico: apareció 'la sintaxis del nombre del archivo... es incorrecta' al usar $env:USERPROFILE. ¿Qué pasó probablemente?","back":"Escribiste el comando en CMD, que no entiende la sintaxis $env: (esa es de PowerShell)."}, {"front":"Aplicación: vas a copiar un comando de un tutorial que usa %USERPROFILE%. ¿En qué terminal debes pegarlo?","back":"En CMD: %USERPROFILE% es la sintaxis de CMD, no de PowerShell."} ]

Ruta de aprendizaje · Clase 6

Creando tu
propia clave SSH

Al final de esta lección, tendrás tu propia clave SSH, creada por ti y lista para instalarla en tu VPS en la próxima lección.

Hasta aquí solo has reconocido claves existentes. Ahora te toca generar la primera: el paso que te permite dejar de escribir una contraseña en cada conexión.

↓ desplázate para estudiar

01 Consultando una clave que ya existe

Antes de sospechar de la clave en sí, fíjate en cómo se ve una clave pública: un texto largo que empieza con ssh-ed25519. En CMD, type muestra el contenido de un archivo de texto.

Marta ya tiene la clave id_ed25519.pub de una prueba antigua; se ejecuta type %USERPROFILE%\.ssh\id_ed25519.pub y ves algo como ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA... minha-vps.

type %USERPROFILE%\.ssh\id_ed25519.pub

02 Abre la carpeta .ssh desde el Explorador, si prefieres verla

Si prefieres ver los archivos como íconos en lugar de texto, el comando explorer %USERPROFILE%\.ssh abre la carpeta en el Explorador de Windows, la misma ventana de siempre para ver archivos.

Ricardo prefiere esta forma: escribe el comando, se abre el Explorer y ve los archivos hostinger_vps e hostinger_vps.pub lado a lado, como ya estás acostumbrado a ver las carpetas.

Error común

Arrastrar o copiar la clave privada fuera de esta carpeta «solo para guardarla en un lugar más fácil». Cualquier copia de la clave privada en otro lugar (escritorio, nube personal) es una copia más que puede filtrarse; déjala solo ahí dentro.

03 Creando la clave, paso a paso

El tipo de clave recomendado hoy es ed25519 — más moderno y más seguro. El comando de creación pide una ruta y un nombre para tu nueva clave.

Marta elige llamar a la suya minha_vps, en CMD:

ssh-keygen -t ed25519 -C "minha-vps" -f %USERPROFILE%\.ssh\minha_vps

Después de eso, solo tienes que presionar Enter en las preguntas siguientes (te piden una contraseña adicional opcional para la clave; puedes dejarla en blanco y confirmar).

Ponte a prueba

Después de ejecutar el comando anterior, ¿cuántos archivos nuevos aparecen en la carpeta .ssh?

04 Lo que genera la creación

El comando de la etapa anterior crea dos archivos: minha_vps (clave privada — nunca la compartas) y minha_vps.pub (clave pública — puedes ponerla en la VPS).

Ricardo revisa los dos archivos de su carpeta y ya reconoce cuál es cuál, aplicando la regla de la lección 4: sin .pub es privada, con .pub es pública.

Comprobando tu nueva clave

  1. Ejecutar el ssh-keygen con -f apuntando al nombre elegido.
  2. Presiona Enter en las preguntas siguientes.
  3. Comprobar los 2 archivos nuevos: uno privado, uno .pub.

Practica ahora 0/2 hecho

Genera tu propia clave SSH

Crear un nuevo par de claves, eligiendo tu propio nombre — ~10 min.

Crear una clave nueva no borra ninguna clave existente ni modifica tu VPS: solo crea un par de archivos nuevos dentro de la carpeta .ssh. Si no te gusta el nombre elegido, puedes borrar los 2 archivos y volver a crearla.

ssh-keygen -t ed25519 -C "minha-vps" -f %USERPROFILE%\.ssh\<escolha um nome>

Acabas de crear tu propia clave SSH, lista para entrar en la VPS en la próxima clase.

Resumen

  • ssh-keygen -t ed25519 crea un nuevo par de claves con el nombre que elijas.
  • Cada creación genera exactamente 2 archivos: la clave privada y la .pub, correspondiente a ella.
  • La clave privada nunca debe salir de la carpeta .ssh ni copiarse a otro lugar "por comodidad".

Tu siguiente paso

Acabas de crear tu propia clave SSH desde cero.

Durante los próximos 10 minutos: ejecuta type en el archivo .pub de la clave que creaste, solo para ver cómo se ve su contenido.

En la próxima clase, pondrás esta clave dentro de la VPS y te conectarás sin volver a escribir una contraseña.

6"> [ {"front":"¿Qué comando crea un nuevo par de claves SSH del tipo recomendado actualmente?","back":"ssh-keygen -t ed25519 -C \"comentario\" -f camino/nombre-de-la-clave"}, {"front":"Diagnóstico: ejecutaste ssh-keygen y solo ves 1 archivo en la carpeta. ¿Qué salió mal probablemente?","back":"El comando no terminó de ejecutarse (quizá se quedó trabado en una de las preguntas); normalmente siempre genera 2 archivos."}, {"front":"Aplicación: quieres guardar una copia de la clave privada 'por seguridad' en una memoria USB. ¿Es una buena práctica?","back":"No se recomienda: cada copia adicional de la clave privada implica un riesgo más; es mejor crear una clave nueva si la necesitas en otro lugar."} ]

Ruta de aprendizaje · Clase 7

Colocando tu clave
en la VPS, paso a paso

Al final de esta lección, te conectarás a tu VPS usando la clave que creaste, sin escribir ninguna contraseña.

Ya tienes la clave (clase 6). Falta un paso: entregar la mitad pública a la VPS para que te reconozca y hacer una prueba. Es la clase más larga de la ruta porque reúne todo lo anterior; vale la pena tomártela con calma.

↓ desplázate para estudiar

01 Qué clave va a la VPS

La regla es siempre la misma: solo la clave pública (el archivo .pub) viaja hasta la VPS. La clave privada nunca sale de tu computadora, ni siquiera en esta clase.

Marta ya ejecutó ssh-keygen y tiene minha_vps e minha_vps.pub. Ella sigue los pasos de abajo una vez, y la próxima vez que necesita revisar la automatización de WhatsApp, entra sin escribir nada más que el comando. Ricardo sigue exactamente la misma secuencia en la VPS de su tienda, cambiando solo la IP y el nombre de la clave.

02 Creando el lugar correcto dentro de la VPS

Primero, mira tu clave pública en tu equipo (type %USERPROFILE%\.ssh\minha_vps.pub) y copia todo el texto. Luego, entra en la VPS con contraseña (clase 2) y crea, dentro de ella, la carpeta y el archivo que guardan las claves autorizadas:

mkdir -p ~/.ssh
nano ~/.ssh/authorized_keys

O nano es un editor de texto simple que se abre dentro de la propia terminal. Pega allí la clave pública que copiaste y guarda con CTRL+O, Enter, después CTRL+X para salir. Así fue como Ricardo pegó la clave pública de la tienda dentro de la VPS la primera vez que hizo este paso.

Lista de verificación completa: desde la clave en tu PC hasta dentro de la VPS

  1. Ver y copiar la clave pública en tu computadora.
  2. Entrar en la VPS con contraseña.
  3. mkdir -p ~/.ssh — crear la carpeta, si todavía no existe.
  4. nano ~/.ssh/authorized_keys — pegar la clave y guardar (CTRL+O, Enter, CTRL+X).

03 Ajustar los permisos

O permisos de la carpeta y del archivo deben ser correctas, o la VPS ignora la clave por seguridad. Todavía dentro de la VPS, ejecuta:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

Ricardo olvidó este paso en el primer intento y su clave simplemente no funcionó, sin ningún mensaje de error claro. Después de ajustar los permisos, funcionó a la primera.

Ponte a prueba

Si te saltas el paso de chmod, ¿qué suele pasar al intentar conectarse con la clave?

04 Probando la conexión con la clave

Escribe exit para salir de la VPS, vuelve a tu computadora y conéctate de nuevo — ahora indica qué clave usar, con -i:

ssh -i %USERPROFILE%\.ssh\minha_vps usuario@IP_DA_VPS

Si todo está bien, Marta entra directamente, sin ninguna pantalla que le pida una contraseña: basta con la clave.

Antes

En cada conexión te pedían la contraseña, y tenías que recordarla o copiarla de algún lugar.

Después

La clave demuestra quién eres por sí sola: una conexión más rápida y segura, sin ninguna contraseña.

Practica ahora 0/4 hecho

Coloca tu clave en la VPS y conéctate sin contraseña

Sigue la secuencia completa, desde tu computadora hasta que la VPS reconozca tu clave: ~15 min.

Siempre puedes volver a entrar con contraseña (clase 2) si algo se bloquea aquí; ningún paso de esta práctica elimina el acceso con contraseña que ya existe.

type %USERPROFILE%\.ssh\minha_vps.pub
ssh usuario@IP_DA_VPS
mkdir -p ~/.ssh
nano ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
exit
ssh -i %USERPROFILE%\.ssh\minha_vps usuario@IP_DA_VPS

Acabas de aprender a entrar en tu VPS solo con la clave: el mismo flujo que Marta y Ricardo usan todos los días, sin depender del soporte técnico.

Resumen

  • La clave pública se pega dentro de ~/.ssh/authorized_keys, en la propia VPS.
  • Los permisos (chmod 700 en la carpeta, chmod 600 en el archivo) son obligatorias: sin ellas, la VPS ignora la clave.
  • Conectarte con -i apuntar a la clave elimina la necesidad de escribir una contraseña.

Tu siguiente paso

Acabas de aprender a entrar en tu VPS usando solo tu clave, sin contraseña.

En los próximos 15 minutos: cierra la terminal, abre otra desde cero y vuelve a conectarte con -i, solo para confirmar que funciona de forma repetible.

En la próxima clase, harás que este comando sea aún más corto, con un apodo para tu VPS.

7"> [ {"front":"Aplicación: acabas de generar una clave nueva (clase 6). ¿Cuáles son los 4 pasos, en orden, para que funcione en tu VPS?","back":"Copiar la .pub, pegarla en ~/.ssh/authorized_keys (con nano), ajustar chmod 700/600 y probar con ssh -i."}, {"front":"Diagnóstico: hiciste todo bien, pero al conectarte con -i la VPS todavía te pide la contraseña. ¿Qué debes revisar primero?","back":"Comprueba chmod: que una carpeta o un archivo tenga permisos demasiado abiertos es la causa más común de este síntoma específico."} ]

Ruta de aprendizaje · Clase 8

Accesos directos con
el archivo config

Al final de esta lección, te conectarás a tu VPS escribiendo solo un alias, sin repetir la IP, el usuario ni la ruta de la clave cada vez.

El comando de la clase 7 funciona, pero es largo para repetirlo todos los días. Un archivo de 4 líneas lo resuelve de una vez por todas.

↓ desplázate para estudiar

01 El problema de repetir siempre lo mismo

Todos los días, para entrar en la VPS con la clave, tienes que recordar (o copiar de algún lugar) un comando completo: usuario, IP y ruta de la clave. Es fácil equivocarse en un carácter.

Ricardo guardaba el comando completo anotado en un bloc de notas, solo para pegarlo cada vez que lo necesitaba; funcionaba, pero era un paso extra innecesario.

02 Creando el archivo config

En tu computadora, dentro de la carpeta .ssh, puedes crear un archivo llamado exactamente config (sin ninguna extensión), con un bloque parecido a este:

Host hostinger
    HostName 123.123.123.123
    User root
    IdentityFile ~/.ssh/minha_vps

Marta crea el suyo con el apodo salao, cambiando la IP y el usuario por los de su propia VPS.

Error común

Olvidar la sangría (espacios) antes de cada línea después de «Host». El archivo config sigue un formato en el que las líneas debajo de «Host» deben llevar sangría; sin eso, la conexión por alias no funciona.

03 Qué significa cada línea del archivo

Host es el alias que eliges (el nombre que vas a escribir). HostName es la IP real de la VPS. User es el usuario. IdentityFile apunta a la clave privada que se debe usar.

Ponte a prueba

En el ejemplo de Ricardo, ¿qué línea tiene que cambiar para apuntar a la clave que creó en la clase 6?

04 Conectándote solo con el alias

Después de guardar el archivo, el comando de conexión queda así: ssh hostinger — en vez de escribir el usuario, la IP y la ruta de la clave cada vez. Marta lo hace hoy en segundos, en medio de un día lleno de clientes en el salón.

Lista de verificación del atajo

  1. Crear (o abrir) el archivo config dentro de la carpeta .ssh.
  2. Escribir el bloque Host / HostName / User / IdentityFile, con sangría.
  3. Guardar y probar con ssh <apelido escolhido>.

Practica ahora 0/2 hecho

Crea tu propio atajo de conexión

Escribir el archivo config y conectarte solo con el alias — ~8 min.

El archivo config solo afecta a tu computadora, no a la VPS; si te equivocas en algo, solo tienes que volver a abrirlo y corregirlo, sin riesgo de bloquear el servidor.

Host <escolha um apelido>
    HostName IP_DA_SUA_VPS
    User <seu usuario>
    IdentityFile ~/.ssh/minha_vps

Acabas de reducir todo el proceso de conexión a una sola palabra: tu apodo.

Resumen

  • El archivo config, dentro de la carpeta .ssh, guarda alias de conexión.
  • Cada bloque tiene 4 líneas: Host (apodo), HostName (IP), User e IdentityFile (clave).
  • Una vez creado, conectarte se reduce a ssh <apelido>.

Tu siguiente paso

Acabas de reducir tu conexión diaria a una sola palabra.

En los próximos 5 minutos: prueba tu alias desde una terminal cerrada y abierta de nuevo, para confirmar que queda guardado.

En la última clase, aprenderás a diagnosticar los errores más comunes, por si algo no sale como esperabas.

8"> [ {"front":"¿Cuáles son las 4 líneas que componen un bloque del archivo config?","back":"Host (alias), HostName (IP), User (usuario) e IdentityFile (ruta de la clave)."}, {"front":"Diagnóstico: creaste bien el archivo config, pero ssh alias dice que no reconoce el host. ¿Qué debes revisar primero?","back":"La sangría (espacios) en las líneas debajo de Host: sin la sangría correcta, el archivo no se lee como se espera."}, {"front":"Aplicación: tienes 2 VPS diferentes. ¿Cómo lo resuelve el archivo config?","back":"Solo tienes que crear 2 bloques Host diferentes, un alias para cada una, cada uno con su propio HostName/User/IdentityFile."} ]

Ruta de aprendizaje · Clase 9

Resolviendo los
errores más comunes

Al final de esta lección, diagnosticarás por tu cuenta los 4 errores de conexión más frecuentes y sabrás qué hacer en cada caso.

En algún momento, una conexión fallará; es normal, no significa que hayas hecho algo fundamentalmente mal. Lo que cambia todo es reconocer el mensaje y saber por dónde empezar a investigar.

↓ desplázate para estudiar

01 Leer el mensaje de error es el primer paso

SSH siempre devuelve un mensaje cuando algo falla, y ese mensaje ya indica la dirección correcta para investigar. Los 4 más comunes son: Permission denied, Connection timed out, Connection refused, y un error de «firma» modificada.

Marta, la primera vez que vio Permission denied, pensó que había roto algo. No era así: solo había escrito mal el nombre de usuario.

02 "Permission denied"

Este mensaje significa que la conexión llegó hasta la VPS, pero la autenticación falló. Las causas más comunes: contraseña incorrecta, usuario incorrecto, clave incorrecta, la clave pública no se colocó en el authorized_keys, o los permisos de la carpeta .ssh están incorrectas (lección 7). Ese fue exactamente el mensaje que Marta vio en el primer intento, porque escribió mal el usuario.

Error común

"Permission denied" al intentar conectar con -i con la clave. Antes de sospechar de la clave en sí, comprueba: el archivo authorized_keys tiene pegada exactamente la clave correcta y los permisos están en 700/600.

03 "Connection timed out", "Connection refused" y clave antigua

Connection timed out significa que la solicitud ni siquiera recibió una respuesta — por lo general, la IP es incorrecta, la VPS está apagada o hay un puerto bloqueado por el firewall. Connection refused significa que la VPS respondió diciendo "no" — el servicio SSH puede estar desactivado en ella o el puerto utilizado es incorrecto.

Ricardo tuvo que recrear la VPS de la tienda una vez y, al intentar conectarse de nuevo, recibió un aviso de que la «firma» del servidor había cambiado; el comando ssh-keygen -R IP_DA_VPS borra la firma antigua guardada y permite conectarte de nuevo, aceptando la nueva.

04 Comprobando el servicio SSH directamente en la VPS

Si ya estás dentro de la VPS (por ejemplo, al entrar con contraseña después de un problema con la clave), systemctl status ssh (o sshd, dependiendo del sistema) muestra si el servicio está activo. Ricardo usó este comando cuando la automatización de publicaciones de la tienda dejó de responder y confirmó que el servicio seguía activo: el problema era otro.

systemctl status ssh
sudo systemctl enable ssh
sudo systemctl start ssh

Lista de verificación final: desde cero hasta conectarte con una clave

  1. Verificar/instalar SSH en tu computadora (clase 2).
  2. Conectarte con contraseña al menos una vez (clase 2).
  3. Crear tu clave (clase 6) y ponerla en la VPS (clase 7).
  4. Crear el atajo en config (clase 8).
  5. Si algo falla: lee el mensaje de error y usa esta lista de causas posibles.

Practica ahora 0/2 hecho

Diagnostica 2 casos reales

Lee los 2 minicCases y señala la causa más probable de cada uno — ~8 min.

Es solo lectura y razonamiento: en esta práctica no se toca ninguna VPS real.

Caso 1. Marta intenta conectarse con ssh -i ~/.ssh/minha_vps admin@45.77.12.9 y recibe Permission denied. Ella confirma que la IP y el usuario son correctos.

Caso 2. Ricardo intenta conectarse a la VPS de la tienda y la terminal se queda quieta durante un minuto, hasta que aparece Connection timed out. Él confirma en el navegador de otro servicio que la VPS está encendida.

ver las respuestas comentadas

Caso 1: como ya se confirmaron la IP y el usuario, la causa más probable es que la clave pública no esté pegada correctamente en authorized_keys, o los permisos de la carpeta .ssh/archivo estén mal — el mismo diagnóstico del paso 2 de esta clase. Caso 2: "timed out" (sin ninguna respuesta) apunta a un problema de red antes incluso de llegar al SSH: un firewall que bloquea el puerto es la causa más común cuando se ha confirmado que la VPS está encendida.

Acabas de aprender a diagnosticar problemas de conexión a partir del mensaje de error, sin depender de nadie más para entender qué está pasando.

Resumen

  • Todo error de SSH viene acompañado de un mensaje; este ya indica por dónde empezar a investigar.
  • "Permission denied" es un problema de autenticación; "timed out"/"refused" son problemas de red o de un servicio apagado.
  • systemctl status ssh, directamente en la VPS, confirma si el servicio está activo.

Tu siguiente paso

Acabas de completar toda la ruta: hoy te conectas, entiendes las claves, creas la tuya, la pones en la VPS, creas atajos y diagnosticas errores, por tu cuenta.

En los próximos 15 minutos: elige una automatización tuya que esté funcionando en una VPS y conéctate a ella usando el alias del config, solo para confirmar que todo el flujo funciona de principio a fin.

La próxima vez que algo se bloquee en tu VPS, ya sabrás por dónde empezar — sin esperar a que alguien esté disponible.

9"> [ {"front":"Diagnóstico: recibes Connection refused al intentar conectarte. ¿Qué indica esto, a diferencia de un timed out?","back":"La VPS respondió rechazando la conexión (por ejemplo, el servicio SSH está apagado o el puerto es incorrecto); timed out significa que ni siquiera hubo respuesta."}, {"front":"Aplicación: recrearon tu VPS y ahora aparece un aviso de que la firma del servidor cambió. ¿Qué debes hacer?","back":"Ejecutar ssh-keygen -R IP_DA_VPS para borrar la firma anterior e intentar conectarte de nuevo aceptando la nueva."}, {"front":"Decisión: recibes Permission denied aunque confirmaste que la IP y el usuario son correctos. ¿Por dónde empiezas a investigar?","back":"Por authorized_keys (¿la clave está pegada correctamente?) y los permisos de la carpeta .ssh (700) y del archivo (600)."} ]