francisco@home:~$

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