Webssh est une application web qui vous permet de vous connecter à vos serveurs ssh à travers votre navigateur. Cette application écrite en Python3, utilise notamment les bibliothèques tornado, paramiko et xterm.js.
Ci-dessous quelques caractéristiques:
_ Support de l’authentification avec mot de passe, y compris les mots de passe vides.
_ Support de l’authentification avec clé publique y compris les clés DSA RSA ECDSA Ed25519.
_ Support des clés chiffrées.
_ Support de l’authentification à deux facteurs (avec TOTP).
_ Support de mode plein écran du terminal.
_ Fenêtre du terminal redimensionnable.
_ Support de tous les navigateurs modernes y compris Chrome, Safari, Firefox, Edge, Opera.
_ Détection automatique de l’encodage par défaut du serveur ssh de destination.
Les échanges éffectués entre les 3 parties (navigateur, webssh, serveur ssh distant) se résument comme suit:
+---------+ http +--------+ ssh +-----------+ | browser | | webssh | | ssh server| +---------+ websocket +--------+ ssh +-----------+
Installation
Webssh peut être installé via pip.
# pip install webssh
Ci-dessous le menu d’aide de webssh
# wssh --help Usage: /home/mdestroy/.local/bin/wssh [OPTIONS] Options: --help show this help information /home/mdestroy/.local/lib/python3.6/site-packages/tornado/log.py options: --log-file-max-size max size of log files before rollover (default 100000000) --log-file-num-backups number of log files to keep (default 10) --log-file-prefix=PATH Path prefix for log files. Note that if you are running multiple tornado processes, log_file_prefix must be different for each of them (e.g. include the port number) --log-rotate-interval The interval value of timed rotating (default 1) --log-rotate-mode The mode of rotating files(time or size) (default size) --log-rotate-when specify the type of TimedRotatingFileHandler interval other options:('S', 'M', 'H', 'D', 'W0'-'W6') (default midnight) --log-to-stderr Send log output to stderr (colorized if possible). By default use stderr if --log_file_prefix is not set and no other logging is configured. --logging=debug|info|warning|error|none Set the Python log level. If 'none', tornado won't touch the logging configuration. (default info) $HOME/.local/lib/python3.6/site-packages/webssh/settings.py options: --address Listen address (default 0.0.0.0) --certfile SSL certificate file --debug Debug mode (default False) --fbidhttp Forbid public plain http incoming requests (default True) --hostfile User defined host keys file --keyfile SSL private key file --maxconn Maximum live connections (ssh sessions) per client (default 20) --origin Origin policy, 'same': same origin policy, matches host name and port number; 'primary': primary domain policy, matches primary domain only; '': custom domains policy, matches any domain in the list separated by comma; '*': wildcard policy, matches any domain, allowed in debug mode only. (default same) --policy Missing host key policy, reject|autoadd|warning (default warning) --port Listen port (default 8888) --redirect Redirecting http to https (default True) --ssladdress SSL listen address (default 0.0.0.0) --sslport SSL listen port (default 4433) --syshostfile System wide host keys file --tdstream Trusted downstream, separated by comma --version Show version information --wpintvl Websocket ping interval (default 0) --xheaders Support xheaders (default True) --xsrf CSRF protection (default True)
Exemples d’utilisation
Après son installation, webssh sera disponible dans votre shell à travers le fichier binaire wssh qui s’installe par défaut dans le dossier $HOME/.local/bin/.
Pour utiliser webssh, vous n’aurez qu’à lancer la commande wssh.
L’application lancera un serveur web sur le port 8888.
Connectez vous sur ce port avec votre navigateur puis remplissez le formulaire que vous verrez avec les informations sur le serveur ssh de destination et lancez la connexion ssh…
…Et vous aurez accès à votre serveur distant.
Il est également possible d’utiliser un serveur HTTPS pour les connexions entre le navigateur et l’application webssh. Pour cela, vous n’aurez qu’à utiliser les options --certfile et --keyfile.
mdestroy
The post Découvrez webssh, le client ssh à travers votre navigateur appeared first on Homputer Security.