OpenSSH (Open Secure Shell) es un conjunto de aplicaciones que permiten realizar comunicaciones cifradas a través de una red, usando el protocolo SSH.
Fue creado como una alternativa libre y abierta al programa Secure Shell, que es software propietario.
El proyecto está liderado por Theo de Raadt, residente en Calgary.
Para instalarlo en una terminal con privilegios escribir el comando:
Debian y derivados
apt-get install openssh-server
Ahora que ya esta instalado lo que debemos hacer es configurarlo ya que las opciones que trae por defecto siempre hay que cambiarlas para que no tengamos algún problema de seguridad.
nano -wB /etc/ssh/sshd_config
# What ports, IPs and protocols we listen for
Port 3131 #cambiamos el puerto 22 por 3131
# ListenAddress ::
ListenAddress 192.168.0.111 #IP de Interfaz externa del servidor
# Authentication:
LoginGraceTime 30 #tiempo en segundos, antes de que se cierre la seción de autenticación
PermitRootLogin no #evitamos que inicie sesion el usuario root)
X11Forwarding no #negamos uso remoto de aplicaciones gráficas
# MaxStartups 10:30:60
Banner /etc/issue.net #Muestra un mensaje antes de conectarse
Y al final del archivo escribe las siguientes líneas
# Permitir el acceso a ciertos usuarios
AllowUsers pelado [email protected]
Guardamos los cambios y salimos del editor.
Por último reiniciamos el servicio:
/etc/init.d/ssh restart
Luego para conectarnos.
ssh -p 3131 [email protected]
Saber qué IPs se han conectado por SSH al servidor
Los logs se guardan en /var/log/ y ahí, los que usamos distros tipo Debian o derivados, tenemos al archivo auth.log, que como su nombre indica guarda lo referente a autentificación
cat /var/log/auth* | grep Accepted
Podemos observar que el usuario pelado puede entrar desde diferentes IPs, en cambio alband no.
En el firewall correspondiente de ser necesario agregar la regla de entrada
iptables -A INPUT -i eth0 -p tcp --dport 3131 -m state --state NEW,ESTABLISHED -j ACCEPT
y la de salida
iptables -A OUTPUT -o eth0 -p tcp --sport 3131 -m state --state ESTABLISHED -j ACCEPT
También puede editar /etc/issue.net para mostrar un mensaje de bienvenida agradable (o desalentador en caso de ser un intruso).
Ver más opciones:
man sshd_config
man ssh
Fuentes de conocimento: