Bastión¶
Este manual es funcional para instalaciones de IsardVDI en una versión v14.64.3 o posterior.
La funcionalidad Bastión de IsardVDI permite acceder a los escritorios virtuales por SSH y a través de un dominio público para los servidores webs montados, sin necesidad de establecer una conexión VPN (Wireguard).
Esta característica posibilita el acceso mediante un dominio que combina el UUID del escritorio virtual con el dominio configurado para IsardVDI. Además, permite conectarse por SSH sin necesidad de establecer túneles adicionales.
Es especialmente útil en entornos que requieren servidores públicos, ya que facilita el acceso directo a los escritorios virtuales de forma segura y sencilla.
Cuando se activa el Bastión, el servidor de IsardVDI actúa como un puente para las conexiones externas:
graph LR
dt1(Client):::dt -.- dk1([IsardVDI Bastion]):::dk -.- dt2(Guest Desktop):::dt
classDef dk fill:#ffd1dc,stroke:#ff3465,stroke-width:1px
Para que los usuarios puedan utilizar Bastión, tienen que tener permisos para su categoría. Esta configuración solo puede realizarla un usuario con rol de Administrador.
Solo para Administradores
Para modificar la configuración y los permisos de Bastión, se recomienda consultar la siguiente guía: Configuración de Bastión
Configuración¶
Al editar un escritorio virtual, se encuentra el apartado Bastión (Si se poseen los permisos necesarios).
-
Puertos: Aunque los puertos externos apuntan al 80/TCP y el 443/TCP (que son también los que, por defecto, escuchan en la máquina virtual), dentro del escritorio es posible redirigirlos a otros puertos si se desea. Para ello, es necesario especificar el nuevo puerto en la edición del escritorio virtual, en los parámetros indicados para cada servicio (HTTP, HTTPS y SSH).
-
Claves autorizadas: Para usar la conexión SSH, se deben agregar una o más claves públicas SSH (una por línea) para cada usuario que necesite acceso. Cada usuario debe generar sus propias claves públicas. Se pueden actualizar en tiempo real, sin tener que parar el escritorio para poder añadir o modificar las claves.
Generar claves SSH
Para generar un par de claves SSH es tan sencillo como aplicar un comando:
Después de aplicar el comando nos preguntará en que ruta nos gustaría guardar las claves generadas. Presionando +enter+ las guardamos en la ruta por defecto. (/home/user/.ssh/id_rsa)
La clave que necesitamos añadir es la pública que se encuentra en el archivo id_rsa.pub. Copiamos el contenido y lo pegamos en las claves autorizadas en la configuración del Bastión.
Para un anfitrión Windows, abrimos el terminal PowerShell con permisos de administrador y ejecutamos el siguiente comando:
Después de aplicar el comando nos preguntará en que ruta nos gustaría guardar las claves generadas. Presionando +enter+ las guardamos en la ruta por defecto.
La clave que necesitamos añadir es la pública que se encuentra en el archivo id_rsa.pub. Para poder ver el contenido podemos ejecutar:
Copiamos el contenido y lo pegamos en las claves autorizadas en la configuración del Bastión.
Solo para Managers/Admins
Para los usuarios managers, la edición del apartado Bastión en la configuración de la máquina virtual aparece de la siguiente forma:
Aparece un apartado nuevo:
- Nombre de dominio personalizado: Esta opción permite asignar un nombre propio al servidor web (al escritorio virtual) en lugar de utilizar el UUID del escritorio como dominio.
Para hacer uso de esta función, es necesario añadir un registro CNAME que apunte al dominio formado por el UUID del escritorio virtual + dominio de la instalación, en el servidor DNS que resuelve el dominio de IsardVDI.
Continuando dentro del apartado de edición de la máquina virtual, en la sección Credenciales del escritorio, se encuentran las credenciales necesarias para acceder remotamente al escritorio virtual a través del servicio SSH. Estas credenciales sirven para la conexión tanto por RDP como para Bastión.
No se pueden realizar plantillas de la configuración
No es posible añadir a la plantilla los parámetros que se han modificado en Bastión. Es decir, se guardará el estado general del escritorio, pero no se conservarán los cambios realizados en el apartado Bastión.
Después de configurar Bastión y las credenciales de acceso, podemos guardar los parámetros de la máquina virtual.
Al volver a la sección principal de escritorios, se podrá acceder al botón
para ver el identificador del escritorio junto a las URLs para los protocolos activados y como acceder a ellos.
Y aparecerá una ventana como la siguiente:
A partir del UUID de escritorio, se pueden generar las siguientes conexiones al escritorio (dónde "domain.com" corresponde al dominio del servidor que aloja la web de IsardVDI):
- URL HTTP: http://{UUID}.domain.com
- URL HTTPS: https://{UUID}.domain.com
- SSH: ssh {UUID}@domain.com -p 443
En el apartado de claves de autorización podremos ver las que tenemos añadidas. Pudiendo modificarlas sin necesidad de parar el escritorio, es decir, en tiempo real. Para actualizar el cambio se presiona el botón:
Solo para managers
A los usuarios managers, les aparece el apartado de cambiar el nombre de dominio personalizado pudiendo hacerlo en tiempo real sin apagar el escritorio virtual. Para aplicar los cambios, pulsamos el botón: 
Recomendación
Si se quiere acceder a los servicios web, se recomienda abrir la URL en una ventana de incógnito o en otro navegador si ya se ha visitado previamente la web de IsardVDI.
Ejemplos¶
Servicio web¶
Ejemplo de prueba de un servicio web dentro de un escritorio.
Durante la prueba, para evitar otros problemas, se debe comprobar:
- Que el firewall no bloquee el tráfico. Para desactivarlo:
systemctl disable --now ufw - Instalar el servidor SSH
apt install openssh-servery activarlosystemctl enable --now ssh
Para una pequeña prueba del funcionamiento usaremos el servidor web Caddy:
- Instalamos Caddy y verificamos que la instalación se haya completado correctamente:
curl -1sLf \
'https://dl.cloudsmith.io/public/caddy/stable/setup.deb.sh' \
| sudo -E bash
sudo apt update
sudo apt install caddy -y
caddy version
sudo systemctl status caddy
- Creamos una pequeña página web de demostración:
sudo mkdir -p /var/www/mipagina
sudo chown -R $USER:$USER /var/www/mipagina
cat <<EOF > /var/www/mipagina/index.html
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8" />
<title>IsardVDI</title>
<style>
body, html {
height: 100%;
margin: 0;
}
body {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
font-family: Arial, sans-serif;
}
h1 {
text-align: center;
}
img.isard {
height: 2em;
vertical-align: middle;
}
</style>
</head>
<body>
<h1>Hola desde IsardVDI :) <img src="https://avatars.githubusercontent.com/u/18657560?s=280&v=4" alt="Icono" class="isard"></h1>
</body>
</html>
EOF
- Editamos el archivo de configuración de Caddy y le añadimos el dominio al cuál entramos al escritorio virtual (Cambiar {UUID}.domain.com por el dominio del escritorio!)
sudo sed -i -e 's/^:80 {/{UUID}.domain.com {/' -e 's|root \* /usr/share/caddy|root * /var/www/mipagina|' /etc/caddy/Caddyfile
sudo systemctl reload caddy
Ahora, visitamos el servicio web con la URL correspondiente y deberíamos ver el contenido de index.html:
Servicio SSH¶
El servicio SSH requiere que verifiquemos que en el escritorio virtual:
- No existan reglas que bloqueen el tráfico:
systemctl disable --now ufw - Tenga instalado el servidor SSH:
apt install openssh-server; y que esté activado:systemctl enable --now ssh
Las credenciales de acceso son las mismas que las del visor RDP y pueden consultarse al editar la máquina virtual.
Credenciales de acceso
Si el usuario y la contraseña no coinciden en el momento de entrar por SSH, no nos concederá el acceso. Además, este usuario tiene que pertenecer al grupo de Administradores.
Para poder acceder, es necesario añadir la clave pública del dispositivo desde el que se quiere conectar en el apartado de claves autorizadas en la edición de Bastión.







