Introduccion a SSH
Que es SSH?
SSH (Secure Shell ) es un protocolo de red criptografico usado comunmente para acceder y administrar servidores remotos a traves de una red (internet o local) Este protocolo provee una conexion encriptada entre el cliente y el servidor para asegurar la confindencialidad e integridad de los datos que viajan por la red. It provides encrypted communication between a client and a server, ensuring confidentiality and integrity.
Caracteristicas de SSH:
- Acceso remoto seguro a servidores y dispositivos de red.
- Transferencia de datos encriptados.
- Autenticacion por medio de password y/o llaves publicas.
- Tuneles seguros para acceso seguro de servicios.
- Transferencia de archivos via SCP o SSFTP
Instalando el servidor SSH
Si usas Linux o algun derivado de Unix (OpenBSD, FreeBSD o NetBSD) el proceso de instalacion puede variar entre uno y otro sistema, la mayoría de los casos el servidor esta previamente instalado y es parte de la base de instalación. Sino fuera el caso, en Debian Linux por ejemplo.
$ sudo apt install openssh-server openssh-client
$ sudo systemctl start sshd
En los sistemas BSD, el OpenSSH es parte del sistema base.
Principales tareas.
1.- Conecta a un servidor remoto determinado.
$ ssh usuario@dominio
2.- Genera llaves publicas usando el algoritmo de encriptacion ed25519
$ ssh-keygen -t ed25519 -C "your_email@example.com"
3.- Copia archivos de mi PC hacia un servidor remoto a la carpeta documentos.
$ scp tarea.docx usuario@servido_linux.com:~/documentos
4.- Crea un tunel SSH desde el servidor.com a mi laptop ubicado en el host local (127.0.0.0.1) usando el puerto 8080 para acceder al puerto 80 de la red.
$ ssh -L 8080:localhost:80 usuario@servidor.com
5.- Transferencia remota segura de archivos via SFTP.
$ sftp usuario@servidor.com
6.- Montar sistemas remotos via SSHFS, muy usado para montar un sistema de archivo de IOS en Linux.
$ shfs usuario@servidor.com:/ruta/remota /directorio_local
Algunas opciones que se pueden modificar a nivel global para el servidor SSH radican en el archivo /etc/ssh/sshd_config aplica en sistemas tipo Unix. Dentro de las más comunes están.
Port 22
PermitRootLogin prohibit-password
PubKeyAuthentication yes
LoginGraceTime 2m
PasswordAuthentication yes
Se puede sustituir por:
Port 8022
PermitRootLogin yes
PubKeyAuthentication no
LoginGraceTime 10m
PasswordAuthentication no