Dropbear SSH una alternativa ligera a OpenSSH

DropBear SSH

Dropbear es un servidor y cliente SSH ligero y pequeño que puede reemplazar a OpenSSH en cualquier plataforma POSIX como GNU/Linux, *BSD, Cygwin... Dropbear es software libre ya que es liberado bajo licencias estilo MIT.

Características

  • Bajo consumo de memoria, lo que lo hace ideal para sistemas que requieran un consumo mínimo de recursos como los sistemas embebidos.
  • Redireccionado de sesiones X11 (Servidor gráfico para sistemas tipo UNIX) y redireccionado de "authentication-agent" para clientes OpenSSH.
  • Compatible con el formato del fichero de autenticación de llave pública: ~/.ssh/authorized_keys (OpenSSH).
  • Redireccionado de puertos locales y remotos (tunneling).
  • Otras

1. Instalar

Fedora

$ sudo dnf -y install dropbear

CentOS

Instalar definición del repositorio EPEL

$ sudo yum -y install epel-release

Instalar dropbear

$ yum -y install dropbear

Alpine

$ sudo apk add dropbear

Debian/Ubuntu/Devuan

$ sudo apt-get -y install dropbear

Android

Antes de instalar dropbear en Android debe instalar Termux para ello vea el siguiente video: Termux - emulador de terminal para Android

Instalar dropbear

$ apt install dropbear

2. Detener el servicio OpenSSH

Antes de iniciar el servicio dropbear asegúrese de detener el servicio sshd.

Distribuciones basadas en systemd: Fedora, CentOS, Debian, Ubuntu

$ sudo bash -c 'systemctl stop sshd && systemctl disable sshd'

Distribuciones basadas en OpenRC: Alpine

$ sudo bash -c 'rc-service sshd stop && rc-update del sshd'

Distribuciones basadas en sysvinit: Devuan

$ sudo bash -c 'service sshd stop && update-rc.d sshd disable'

Android

Para Android no es necesario detener el servivio SSH pues este no se instala por defecto.

3. Iniciar el servicio dropbear

Distribuciones basadas en systemd: Fedora, CentOS, Debian, Ubuntu

$ sudo systemctl start dropbear

Distribuciones basadas en OpenRC: Alpine

$ sudo rc-service dropbear start

Distribuciones basadas en sysvinit: Devuan

$ sudo service dropbear start

Android

Iniciamos dropbear en primer plano (foreground), por defecto dropbear va estar escuchando en el puerto 8022

$ dropbear -F

4. Iniciar el servicio dropbear con el sistema operativo

Distribuciones basadas en systemd: Fedora, CentOS, Debian, Ubuntu

$ sudo systemctl enable dropbear

Distribuciones basadas en OpenRC: Alpine

$ sudo rc-update add dropbear

Distribuciones basadas en sysvinit: Devuan

$ sudo update-rc.d sshd enable

Android

No es recomendable tener corriendo permanentemente un servidor SSH en Android por razones de seguridad y rendimiento no obstante puede lograrlo instalando Termux:Boot

5. Conectarse al servidor dropbear

Para conectarse al servidor dropbear puede usar el cliente ssh (OpenSSH) o la herramienta dbclient. La herramienta dbclient forma parte del paquete dropbear. Para Android la forma recomendada de conectarse es usando llaves pública y privada ya que no se tiene la contraseña del usuario en cuestión, para más detalles vea el siguiente video:

Cómo instalar un servidor SSH en Android.

Usando usuario y contraseña

$ ssh usuario@miservidor.midominio
$ dbclient usuario@miservidor.midominio

Usando llaves pública y privada

Usando el cliente ssh

Para conectarse al servidor dropbear usando el cliente ssh debe usar las llaves públicas y privadas generadas por ssh-keygen. En el caso de Android agregue la opción -p 8022 a los comandos: ssh-copy-id, ssh, dbclient

1. Generar llaves públicas y privadas
 $ ssh-keygen -t ecdsa 
Generating public/private ecdsa key pair.
Enter file in which to save the key (/home/sedlav/.ssh/id_ecdsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/sedlav/.ssh/id_ecdsa.
Your public key has been saved in /home/sedlav/.ssh/id_ecdsa.pub.
The key fingerprint is:
SHA256:m+Cg8yFD07sWN05oFHI6SXJsSXJe2nGYUtMalQFn2og sedlav@librebyte.net
The key's randomart image is:
+---[ECDSA 256]---+
|.ooo***o         |
|.+O=*Xo          |
| =E*++.          |
|  +.o            |
|  ooo.. S        |
| . o+++. o       |
|  =.o=..o        |
|   =.o.          |
|   .o            |
+----[SHA256]-----+
2. Copiar la llave pública al servidor dropbear
$ ssh-copy-id -i .ssh/id_ecdsa.pub sedlav@dropbearserver
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: ".ssh/id_ecdsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
sedlav@dropbearserver's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'sedlav@dropbearserver'"
and check to make sure that only the key(s) you wanted were added.
3. Conectarse al servidor dropbear
$ ssh sedlav@dropbearserver

Usando dbclient

Para conectarse al servidor dropbear usando dbclient debe usar las llaves públicas y privadas generadas por dropbearkey

$ dropbearkey -t ecdsa -f .ssh/id_dropbear_ecdsa | grep "^ecdsa" > .ssh/id_dropbear_ecdsa.pub 
Generating key, this may take a while...
2. Copiar la llave pública al servidor dropbear
$ cat .ssh/id_dropbear_ecdsa.pub | dbclient sedlav@dropbearserver 'cat - >> .ssh/authorized_keys'
sedlav@dropbearserver's password:
3. Conectarse al servidor dropbear
$ dbclient -i .ssh/id_dropbear_ecdsa sedlav@dropbearserver

Nótese que los permisos del DIR .ssh deben ser 700 y del fichero authorized_keys: 600 o no podrá conectarse al servidor dropbear.

Lecturas recomendadas

- Proyecto Dropbear

YouTube video
Los tutoriales aquí en LibreByte están disponible bajo una licencia de software libre. Si le gusta mi trabajo considere:
Comprar un Hosting/VPS o Servidor Dedicado en MCKHost

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.