Servidor SSH

De CURE - Informática
Ir a la navegación Ir a la búsqueda
La versión para imprimir ya no se admite y puede contener errores de representación. Actualiza los marcadores del navegador y utiliza en su lugar la función de impresión predeterminada del navegador.

Servidor SSH

Resumen SSH

El cliente ssh ya viene instalado por defecto en Ubuntu, no así el servidor ssh.


Instalación por línea de comandos:

Para instalarlo hay que ejecutar:

$ sudo apt-get install openssh-server

Nota: Es posible que el paquete no se encuentre en los repositorios, para agregarlo hay que actualizar la lista abriendo un terminal y ejecutando el comando:

$ sudo apt-get update

Modo gráfico:

1. Ir a: Sistema-> Administración-> Gestor de paquetes synaptic 2. Ingresar en el buscador: openssh-server 3. Seleccionar el paquete openssh-server y hacer click en "aplicar"

Nota: Es posible que el paquete no se encuentre en los repositorios, para agregarlo hay que actualizar la lista abriendo un terminal y ejecutando el comando:

$ sudo apt-get update

Después de instalado, para poder configurarlo hay que editar el archivo /etc/ssh/sshd_config Muy recomendado hacerle una copia de respaldo de este archivo antes de modificarlo: $ sudo cp /etc/ssh/sshd_config{,.original}

El demonio ssh atiende por defecto en el puerto 22, para cambiarlo hay que ir a la linea donde dice:

Port 22

y cambiar el 22 por el puerto que queramos usar.

Para no permitir que se puedan hacer login con el usuario root por ssh hay que cambiar:

PermitRootLogin yes
por:
PermitRootLogin no

Para elegir que usuarios podrán acceder por ssh, hay que agregar la siguiente linea: AllowUsers <usuario1> <usuario2> <usuario3>

Para que los cambios surtan efecto hay que reiniciar el servidor:

$ sudo /etc/init.d/ssh restart

Para solo recargar el cambio de configuración sin reiniciar el servicio:

$ sudo /etc/init.d/ssh reload


SSH con clave pública-privada

Para generar nuestra clave:

$ ssh-keygen -t rsa

Una vez generada, hay que copiarla al usuario del ordenador remoto con el que queremos mantener la relación de confianza usando el comando ssh-copy-id. Este es un ejemplo del uso con la salida del programa:

$ ssh-copy-id usuario_remoto@192.168.0.1

Now try logging into the machine, with "ssh 'usuario_remoto@192.168.0.1'", and check in:

.ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

En caso que nos de este error cuando queramos entrar por ssh: Agent admitted failure to sign using the key.

Debemos ejecutar el comando:

$ ssh-add

Nos pedirá el passphrase: Enter passphrase for /home/usuario/.ssh/id_rsa: Identity added: /home/pablo/.ssh/id_rsa (/home/pablo/.ssh/id_rsa)


Protejer nuestro servidor SSH

Con denyhosts podremos prevenir el ataque a el servicio o demonio SSH por métodos como fuerza bruta o diccionario. Este después de sucesivos intentos erroneos de logeo por SSH bloquea el acceso a la ip fuente.

Para instalarlo:

$ apt-get install denyhosts

Luego para configurarlo editamos el archivo:

/etc/denyhosts.conf

Tiene muchas opciones para configurar, pero las que nos interesan son:

* purgar las ip bloqueadas después de una hora: PURGE_DENY = 1h
* bloqueo a intentos de login para usuarios inválidos: DENY_THRESHOLD_INVALID = 3
* bloqueo a intentos de login para usuarios válidos: DENY_THRESHOLD_VALID = 5
* bloqueo a intentos de login con el usuario root: DENY_THRESHOLD_ROOT = 1
* bloqueo a intentos de login con usuarios restringidos: DENY_THRESHOLD_RESTRICTED = 1
* vuelve a 0 (cero) el contador de intentos fallidos desde una ip cuando el login es válido: RESET_ON_SUCCESS = yes

Luego de terminar de editar el archivo, hay que reinicar el servicio:

/etc/init.d/denyhosts restart

Referencias

Créditos

   * Pablo García. Resumen de instalación SSH Server, Foro de Ubuntu Desktop.