Files
wiki/Catalogue-Self-Hosted/apps/app-wetty.md
T
2026-06-09 18:40:21 +02:00

3.3 KiB


title: WeTTY created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, remote-access, ssh, web-shell, terminal] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Remote+Access, https://github.com/butlerx/wetty]

🌐 WeTTY

Terminal SSH minimaliste directement dans le navigateur, sans client lourd.

📋 Informations Générales

Attribut Valeur
Nom WeTTY (Web Terminal)
Slug wetty
Description Client SSH web basé sur xterm.js et node-pty
Site officiel https://butlerx.github.io/wetty/
Repository https://github.com/butlerx/wetty
Stars 5 294
Licence MIT
Langage principal TypeScript / Node.js
Catégorie Remote Access
Tags [catalogue, remote-access, ssh, web-shell, terminal]

📝 Description

WeTTY est l'une des solutions les plus légères pour ouvrir un terminal SSH dans un navigateur. Le projet combine xterm.js côté front (rendu terminal précis, support des couleurs et raccourcis) avec node-pty côté back (pty réel) pour offrir une expérience proche d'un SSH natif, sans rien installer côté client.

L'idée est volontairement minimaliste : une page web, un prompt login/password SSH, et c'est tout. Il n'y a pas de gestion d'utilisateurs multiples, pas d'audit centralisé, pas de MFA. C'est un "petit" outil, parfait pour un homelab, un accès ponctuel depuis un poste où l'on ne peut pas installer de client SSH, ou pour fournir un shell d'urgence derrière un VPN.

Il s'authentifie soit contre un compte local Linux, soit via une clé SSH si configurée.

🚀 Installation

Via Docker (recommandé)

# docker-compose.yml
services:
  wetty:
    image: wettyoss/wetty:latest
    container_name: wetty
    restart: unless-stopped
    ports:
      - "3000:3000"
    command: --ssh-host=localhost --ssh-port=22

Installation manuelle

npm install -g wetty
wetty --sshhost=localhost --sshport=22 --port=3000

⚙️ Configuration

  • Authentification via PAM (compte Linux local) ou clé SSH avec --ssh-key.
  • Forcer HTTPS en le plaçant derrière un reverse proxy (Traefik, Caddy, Nginx).
  • Désactiver le login par mot de passe et n'autoriser que la clé SSH.
  • Personnaliser l'invite, le titre et la favicon via options CLI.

🔗 Alternatives

  • Sshwifty — alternative plus moderne, support Telnet et SSH.
  • ttyd — encore plus minimaliste (C, un seul binaire).
  • Apache Guacamole — bien plus complet (RDP/VNC/SSH + utilisateurs) mais lourd.

🔒 Sécurité

  • WeTTY n'implémente aucune authentification supplémentaire : il s'appuie sur l'authentification SSH standard. À protéger impérativement derrière un reverse proxy avec HTTPS et idéalement une auth basique ou SSO en amont.
  • Pas d'audit : les logs sont ceux de SSH côté serveur.
  • Ne jamais exposer WeTTY directement sur Internet sans auth supplémentaire.

📚 Ressources

🔗 Pages Liées