- Estrucutura de la red
- Generamos las claves asimétricas
- Añadimos la clave al servidor
- Probamos la conexión
Tenemos 2 servidores virtualizados con VirtualBox conectados en una Red NAT, con la siguiente redirección de puertos.
Nombre | IP Anfitrión | Puerto Anfitrión | IP Host | Puerto Host |
---|---|---|---|---|
Ubu1 SSH | 127.0.0.1 | 2206 | 10.0.2.6 | 22 |
Ubu2 SSH | 127.0.0.1 | 2207 | 10.0.2.7 | 22 |
Nos situamos en Mi Equipo es decir en el lado cliente.
Para generar el par de claves publica y privada utilizamos el comando ssh-keygen
.
- La ruta y el nombre del archivo. →
~/.ssh/miclave
- La frase de seguridad, es decir, la contraseña del archivo.
(Se puede dejar en blanco.) →
MiContraseñaSuperSegura
- Comprobación para la contraseña. →
MiContraseñaSuperSegura
Si la hemos dejado en blanco, este campo también debe estar en blanco.
# ssh-keygen [-t dsa | ecdsa | ed25519 | rsa]
ssh-keygen -t ecdsa
> miclave
> {intro}
> {intro}
Esto creará el par de claves asimétricas.
miclave
→ es la clave privada.miclave.pub
→ es la clave pública.
🚨La clave privada no se comparte nunca🚨
Imagina que nuestras clave privada es una 🔑 y la clave pública un 🔒.
Con una misma 🔑 podemos abrir todos los 🔒 asignados a la misma 🔑.
Si tenemos nuestra clave publica en varios servidores podremos acceder con nuestra clave privada (podemos abrir el candado 🔓). Si nuestra clave publica no está en el servidor, no podremos acceder.
# WINDOWS
# scp -P [puerto] [ruta/clave_publica.pub] [usuario]@[ip_del_servidor]:[ruta_destino/archivo]
scp -P 2206 -i .\miclave.pub [samuel@127.0.0.1](mailto:samuel@127.0.0.1):~/.ssh/
Eso copiara el archivo miclave.pub
en la carpeta ~/.ssh/
en el servidor, ahora iniciamos sesión con ssh para poder añadir la clave pública en el archivo ~/.ssh/authorized_keys
ssh -p 2206 samuel@127.0.0.1
> {contraseña}
samuel@ubuntu1:~$ cat .ssh/miclave.pub >> .ssh/authorized_keys
# comprobamos que se ha añadido
samuel@ubuntu1:~$ cat .ssh/authorized_keys
En Linux utilizamos el comando ssh-copy-id
, este comando añade directamente la clave al servidor pasándola como parámetro -i miclave.pub
.
# Linux
# Si has dejado el nombre de la clave por defecto 'id_????'. Introduce el siguiente comando.
ssh-copy-id -p 2206 [email protected]
# ssh-copy-id -p [puerto] -i [ruta/clave_publica.pub] [usuario]@[ip_del_servidor]
ssh-copy-id -p 2206 -i ./miclave.pub [email protected]
Copiamos la clave miclave.pub
al servidor Ubuntu 1.
ssh -p 2206 samuel@127.0.0.1