Cómo habilitar e iniciar el servidor SSH en OPNsense
OpenSSH es una herramienta que se creó para proporcionar un inicio de sesión remoto seguro en dispositivos remotos mediante el protocolo SSH. SSH utiliza cifrado avanzado para las transferencias de datos entre las máquinas cliente y servidor, tanto para el inicio de sesión remoto como para la transferencia de archivos. Este nivel de seguridad eliminará a los espías, secuestradores y otros tipos de atacantes en su red.
Requisitos previos de configuración
Antes de comenzar con este artículo, debe cumplir con los siguientes requisitos:
- Tener instalado el servidor OPNsense
- Su dispositivo local debería poder acceder al panel web de OPNsense
- Tiene una cuenta de inicio de sesión de OPNsense que es miembro del grupo integrado administradores.
Habilite el servicio OpenSSH en OPNsense
Se sabe que OPNsense es uno de los mejores firewalls y soluciones de enrutamiento de código abierto que se pueden adoptar para uso doméstico o en una pequeña y mediana empresa.
Tenemos un artículo separado sobre cómo instalar OPNsense: Cómo instalar OPNSense Firewall en Proxmox VE. Con el firewall en funcionamiento, inicie sesión en el panel web.
Una vez que esté en el panel, navegue hasta Sistema –> Administración –> Secure Shell.
Marque la casilla para habilitar el servidor OpenSSH y permita el inicio de sesión del usuario root. Opcionalmente, puede habilitar el método de autenticación de contraseña, pero esto estará deshabilitado para mí ya que prefiero el mecanismo de autenticación basado en clave.
Le recomendamos que permita que el servicio SSH escuche solo en LAN o en cualquier otra red VLAN que no esté expuesta al mundo exterior.
Usando la clave pública SSH para iniciar sesión
El protocolo SSH admite muchos métodos de autenticación. La más utilizada pero segura para conexiones interactivas y automatizadas es la autenticación de clave pública. Puede leer esta documentación para obtener más información sobre el método de autenticación de clave pública.
La ruta predeterminada a su clave pública SSH es ~/.ssh
. Puede confirmar si tiene las claves enumerando el contenido de este directorio.
$ ls -1 ~/.ssh
config
id_rsa
id_rsa.pub
known_hosts
known_hosts.old
Su clave pública se llama id_rsa.pub. Si no hay ninguno en su máquina, generelo en sistemas basados en Linux/Unix usando los siguientes comandos.
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/jmutai/.ssh/id_rsa):
Created directory '/home/jmutai/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/jmutai/.ssh/id_rsa
Your public key has been saved in /home/jmutai/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:bgcrnow9O7wKbgeOdJ6kO2CnwPvpW5kGY84rMDv+DPY jmutai@josphat-devops2
The key's randomart image is:
+---[RSA 3072]----+
| |
| |
| |
| |
|. + S |
|=+=+o o. o |
|*BX+.*. + . |
|=B*+*=++ . |
|.=OE+.B= |
+----[SHA256]-----+
Deberá copiar el contenido del archivo para usarlo en OPNsense.
cat ~/.ssh/id_rsa.pub
En macOS puedes copiar el contenido al portapapeles usando pbcopy.
pbcopy <~/.ssh/id_rsa.pub
Los usuarios de Linux pueden utilizar xclip.
xclip -sel clip <~/.ssh/id_rsa.pub
Luego vaya a la consola web de OPNsense y luego busque la sección Sistema–> Usuarios. Seleccione el usuario para editar usando el ícono lápiz .
Pegue la clave copiada para el usuario seleccionado. En nuestro ejemplo el usuario es root.
Cuando termine, guarde los cambios.
Probando SSH en OPNsense
El último paso es probar la conexión SSH a OPNsense desde nuestra máquina local.
La sintaxis del comando para SSH es.
$ ssh username@OPNsenseIP
Los usuarios de Windows pueden probar una de las herramientas del artículo Mejores aplicaciones SSH, Telnet y cliente serie para sistemas Windows.
$ ssh [email
Warning: Permanently added '192.168.1.1' (ED25519) to the list of known hosts.
Last login: Thu Jan 25 01:05:07 2024 from 192.168.1.151
----------------------------------------------
| Hello, this is OPNsense 23.7 | @@@@@@@@@@@@@@@
| | @@@@ @@@@
| Website: https://opnsense.org/ | @@@" ///@@@
| Handbook: https://docs.opnsense.org/ | )))))))) ((((((((
| Forums: https://forum.opnsense.org/ | @@@/// "@@@
| Code: https://github.com/opnsense | @@@@ @@@@
| Twitter: https://twitter.com/opnsense | @@@@@@@@@@@@@@@
----------------------------------------------
*** fw01.example.io: OPNsense 23.7.12 ***
GuestWifi (vlan020) -> v4: 172.20.40.1/24
IoTDevices (vlan021) -> v4: 172.20.41.1/24
LAN (igb1) -> v4: 192.168.1.1/24
PrivateServers (vlan030) -> v4: 172.20.30.1/24
WAN (igb0) -> v4: a.b.c.d/24
HTTPS: SHA256 66 1B 87 B8 43 2C 15 45 05 57 05 1E 5E FF BB BD
AC A6 DF 50 C9 73 FC A6 D5 88 29 10 A4 16 7B 29
SSH: SHA256 lmQRFUxZjpwargrS5JII5m57XW04q8gE4ZHIrO3Ub0I (ECDSA)
SSH: SHA256 H3emXepr/oufi2zVoVRBWCt5iJM+JTVjtReBpBOlPUc (ED25519)
SSH: SHA256 +vgBRjGF6QyimDHDr9Dcq7aZqxuZGUlEdi//XEVLy8E (RSA)
0) Logout 7) Ping host
1) Assign interfaces 8) Shell
2) Set interface IP address 9) pfTop
3) Reset the root password 10) Firewall log
4) Reset to factory defaults 11) Reload all services
5) Power off system 12) Update from console
6) Reboot system 13) Restore a backup
Enter an option:
Podemos intentar realizar una acción para confirmar que esto funciona. Por ejemplo “12) Actualizar desde la consola“
Enter an option: 12
Fetching change log information, please wait... done
This will automatically fetch all available updates and apply them.
Proceed with this action? [y/N]: y
Updating OPNsense repository catalogue...
OPNsense repository is up to date.
All repositories are up to date.
Updating OPNsense repository catalogue...
.....
Esta es una validación de que habilitamos el servidor OpenSSH en OPNsense y podemos acceder a él. El programa cliente OpenSSH se llama ssh y está disponible en la mayoría de los sistemas basados en Linux y Unix. Es posible que los usuarios de Windows deban instalar herramientas como PuTTY o MobaXterm, que brindan funcionalidad de cliente ssh.
Artículos similares:
- Cómo instalar y configurar el cliente Tailscale en OPNsense
- Cómo ejecutar Headscale con UI en Docker Container