Aller au contenu

Terminal web (Wetty)

Rôle

Terminal SSH dans le navigateur, accessible depuis l'extérieur. Permet d'obtenir un shell root sur le host Proxmox depuis n'importe quel navigateur.

Accès

Host Proxmox — 192.168.1.215
Port 7681
URL https://term.2h15.fr (public)
Binaire /usr/local/bin/wetty
Service wetty.service (systemd, host Proxmox)

Authentification

Double protection :

  1. HTTP Basic Auth (NPM access list ID 6 "Terminal Basic Auth") — popup navigateur avant d'atteindre Wetty
  2. Login SSH — utilisateur root + mot de passe root du host Proxmox

Les deux identifiants sont stockés dans Vaultwarden.

Configuration NPM

  • Proxy host ID 38, forward 192.168.1.215:7681
  • WebSocket activé (allow_websocket_upgrade: true)
  • proxy_read_timeout 43200s (timeout long pour les sessions interactives)

Sécurité

  • CrowdSec actif sur LXC 101 — les tentatives de brute force sur la page SSH sont détectées et l'IP bannie au niveau firewall
  • HTTP Basic Auth ajoute une première couche avant même d'atteindre le formulaire SSH

Débogage

# Statut du service (sur le host Proxmox)
systemctl status wetty

# Logs
journalctl -u wetty -n 50

# Redémarrer
systemctl restart wetty

Remplacement de ttyd

ttyd a été abandonné (bug xterm.js : affichage OK mais clavier inopérant). Wetty utilise SSH natif via le navigateur et fonctionne correctement.