RESUMEN DE LA CLASE
|
Autenticación de clientes y servidores sobre SSH
|
|
SSH: Secure Shell, es un protocolo que permite conectar dos computadoras de forma remota sin necesidad de un password, únicamente con la interacción de una llave pública y una llave privada (aunque podemos colocar una contraseña sobre las llaves)
|
|
Configuración
|
- En el servidor, abrir el archivo
/etc/ssh/sshd_config
con algún editor. Leer el archivo y configurar a gusto. - En la consola de la máquina cliente abrir
ssh-keygen
para generar las llaves - Elegir ubicación para guardar la llave privada
- Ejecutar
ssh-copy-id -i directorio_de_llave/id_rsa.pub [email protected]_ip_del_servidor
para copiar la llave pública al servidor - Ejecutar
ssh [email protected]_ip_del_servidor
en la máquina cliente para conectarnos exitosamente de forma remota
|
|
Tips
|
- En lugar de descargar Putty en Windows podemos utilizar el emulador de consola Unix llamado Cmder para ejecutar los comandos vistos en clase. Incluso si esto falla, lo que personalmente recomiendo es instalar un subsistema de linux si tenemos Windows 10. Platzi tiene incluso un artículo sobre como hacer eso: https://platzi.com/clases/1378-python-practico/19200-importante-instalando-ubuntu-bash-en-windows-para-/
- Si la conexión falla, podemos usar el modificador -v (verbose) en el comando
ssh
para poder ver la información que envían las máquinas que intentan conectarse. La “v” puede repetirse hasta cuatro veces, quedando el comando, por ejemplo, como:ssh -vvvv [email protected]_ip_del_servidor
. A mas “v” pongamos, más información se mostrará
|
|
BONUS
|
Reto: Restringir el acceso al usuario root por ssh, y permitir solo un usuario determinado conectado
|
Solución:
|
- Colocar en el archivo
/etc/ssh/sshd_config
del servidor las siguientes líneas:
PermitRootLogin no
AllowUsers nombre_usuario
- Ejecutar el siguiente comando para reiniciar el servicio de ssh:
sudo service sshd restart
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?
o inicia sesión.