/Wetty/ sert à accéder à un terminal de commandes ( cli_bash ) via le protocole SSH ...
mais en passant par le wwweb (via n'importe quel navigateur ) !
Normalement on se connect avec le protocole SSH via un terminal (application)
ssh user@adresse_du_serveur_ou_son_IP
<
Sur un wifi public (ou protégé) certain admin empêchent l'accès au port :22
(SSH)
Aussi, en passant par le web ( port :80
) on peut contourner cette limitation...
Pratique quand on veut accéder sans délais à son serveur distant !
- https://computingforgeeks.com/run-linux-terminal-on-web-browser-using-wetty/
Full tuto - https://distroid.net/linux-terminal-using-wetty/
. . .
En remplaçant de /Shell in a box/ ( discontinued )
2025
( pas facile à installer wetty )
TRY ttyd
GIT
- https://github.com/tsl0922/ttyd
-
HELP
- https://fr.linux-console.net/?p=20489
- https://github.com/tsl0922/ttyd/wiki/Example-Usage
INSTALL
- https://github.com/tsl0922/ttyd/releases
-> ARCHITECTURE (attention cpu) - `cp /dwl/path/ttyd... /usr/bin/‘
COMMANDE
sudo ttyd -W -p 9000 login
( NB : -W make it interactive, can type, carfulle in prod )
( SOURCE : https://github.com/tsl0922/ttyd/issues/1217#issuecomment-1755851524 )
NGINX
PASSWORD protect NGINX
sudo htpasswd -c /etc/nginx/.htpassttyd USERNAME
Config
server {
server_name shell.host.com;
root /var/www/html/; # Random
charset utf-8;
listen 80;
listen [::]:80;
location / {
# PASSWORD
auth_basic "Administrator’s Area";
auth_basic_user_file /etc/nginx/.htpassttyd;
# PROXY PORT
proxy_pass http://127.0.0.1:9000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 43200000;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
}
}
( restart Nginx )
ADD Cert (ssl)
sudo certbot --nginx -d shell.host.com
EXTRA_SCRIPT.sh ( tmux + login )
#!/bin/bash
tmux new -s session_name -c sudo /usr/bin/login
Tmux conf
~/.tmux.conf
Service
sudo nano /etc/systemd/system/ttyd.service
[Unit]
Description=ttyd_login
After=network-online.target
[Service]
Type=simple
ExecStart=COMMANDE EXTRA_SCRIPT.sh
Restart=always
RestartSec=2
TimeoutStopSec=5
SyslogIdentifier=ttyd
[Install]
WantedBy=multi-user.target
Autostart
sudo systemctl enable ttyd