Gotty - Partagez votre terminal Linux (TTY) en tant qu'application Web

Gotty - Partagez votre terminal Linux (TTY) en tant qu'application Web

Gotty est un simple outil de ligne de commande basé sur Golang qui vous permet de partager votre terminal (tty) en tant qu'application Web. Il transforme les outils de ligne de commande en applications Web.

Il utilise l'émulateur terminal de Chrome OS (handicapé) Pour exécuter un terminal basé sur JavaScript sur un navigateur Web. Et surtout, Gotty exécute un serveur de socket web qui transfère essentiellement la sortie Tty aux clients et reçoit les commentaires des clients (c'est-à-dire si la contribution des clients est autorisée) et la transmet au Tty.

Lire aussi: Teleconsole - Partagez votre terminal Linux avec vos amis

Son architecture (Hterm + Web Socket Idea) a été inspirée par Programme Wetty qui permet le terminal sur Http et Https.

Conditions préalables:

Vous devriez avoir un environnement Golang (GO Programming Language) installé dans Linux pour exécuter Gotty.

Comment installer Gotty dans les systèmes Linux

Si vous avez déjà un environnement Golang fonctionnant, exécutez le va chercher commande ci-dessous pour l'installer:

# va chercher github.com / yudai / gotty 

La commande ci-dessus installera le Gotty binaire dans votre Gobin Variable d'environnement, essayez de vérifier si c'est le cas:

# ls $ gopath / bin / 
Vérifiez l'environnement Gobin

Comment utiliser Gotty dans Linux

Pour l'exécuter, vous pouvez utiliser le Gobin Env Fonctionnalité de complétion automatique variable et de commande comme suit:

# $ Gobin / gotty 

Sinon, exécutez Gotty ou tout autre programme GO sans taper le chemin complet vers le binaire, ajoutez votre variable Gobin sur le chemin du chemin dans le ~ /.profil fichier à l'aide du exporter Commande ci-dessous:

Export Path = "$ path: $ gobin" 

Enregistrez le fichier et fermez-le. Puis achetez le fichier pour effectuer les modifications ci-dessus:

# source ~ /.profil 

La syntaxe générale pour l'exécution des commandes Gotty est:

Utilisation: gotty [Options] [] 

Maintenant, exécutez Gotty avec n'importe quelle commande telle que la commande DF pour afficher l'espace des partitions de disque système et l'utilisation du navigateur Web:

# gotty df -h 

Gotty démarrera un serveur Web sur le port 8080 par défaut. Ensuite, ouvrez l'URL: http: // 127.0.0.1: 8080 / Sur votre navigateur Web et vous verrez la commande en cours d'exécution comme si elle s'exécutait sur votre terminal:

Utilisation du disque Gotty Linux

Comment personnaliser Gotty dans Linux

Vous pouvez modifier les options par défaut et votre terminal (handicapé) Dans le fichier de profil ~ /.gotty, il chargera ce fichier par défaut au cas où il existe.

Ceci est le fichier de personnalisation principal lu par les commandes Gotty, donc, créez-le comme suit:

# touch ~ /.gotty 

Et définissez vos propres valeurs valides pour les options de configuration (recherchez toutes les options de configuration ici) pour personnaliser Gotty par exemple:

// Écoutez sur le port 9000 par défaut port = "9000" // Activer TSL / SSL par défaut enable_tls = True // Hterm Préférences // Font plus petit et un peu de préférences de couleur d'arrière-plan Bluer Font_Size = 5, background_color = "RGB (RGB (RVB ( 16, 16, 32) " 

Vous pouvez définir le vôtre indice.html fichier à l'aide du --indice Option de la ligne de commande:

# gotty --index / path / to / index.Time de disponibilité HTML 

Comment utiliser les fonctionnalités de sécurité dans gotty

Parce que Gotty n'offre pas une sécurité fiable par défaut, vous devez utiliser manuellement certaines fonctionnalités de sécurité expliquées ci-dessous.

Permettre aux clients d'exécuter des commandes / types d'entrée dans le terminal

Notez que, par défaut, Gotty ne permet pas aux clients de saisir la contribution dans le TTY, il permet uniquement le redimensionnement des fenêtres.

Cependant, vous pouvez utiliser le -w ou --permis d'écrire Option pour permettre aux clients d'écrire sur le TTY, ce qui n'est pas recommandé en raison de menaces de sécurité pour le serveur.

La commande suivante utilisera VI Command Line Editor pour ouvrir le fichier fossmint.SMS Pour l'édition dans le navigateur Web:

# gotty -w vi fossmint.SMS 

Vous trouverez ci-dessous l'interface VI vue depuis le navigateur Web (utilisez les commandes VI ici comme d'habitude):

Gotty Web VI Editor

Utilisez Gotty avec l'authentification de base (nom d'utilisateur et mot de passe)

Essayez d'activer un mécanisme d'authentification de base, où les clients devront saisir le nom d'utilisateur et le mot de passe spécifié pour se connecter au serveur Gotty.

La commande ci-dessous restreindra l'accès au client à l'aide du -c Option pour demander aux utilisateurs des informations d'identification spécifiées (nom d'utilisateur: test et mot de passe: @ 67890):

# gotty -w -p "9000" -c "Test: @ 67890" regards 
Gotty avec l'authentification de base

Gotty générer une URL aléatoire

Une autre façon de restreindre l'accès au serveur est en utilisant le -r option. Ici, Gotty générera une URL aléatoire afin que seuls les utilisateurs qui connaissent l'URL puissent accéder au serveur.

Utilisez également le -Titre-Format «Gotty - .Commande ( .Nom d'hôte)”Option pour définir la commande du titre de l'interface des navigateurs Web et des regards sont utilisés pour afficher les statistiques de surveillance du système:

# gotty -r - title-format "gotty -  .Commande  ( .Nom d'hôte) "regards 

Ce qui suit est le résultat de la commande ci-dessus, comme le montre l'interface du navigateur Web:

Gotty URL aléatoire pour les regards sur la surveillance

Utilisez Gotty avec SSL / TLS

Parce que par défaut, toutes les connexions entre le serveur et les clients ne sont pas cryptées, lorsque vous envoyez des informations secrètes via Gotty, comme les informations d'identification de l'utilisateur ou toute autre information, vous devez utiliser le -t ou --TLS Option qui permet TLS / SSL sur la session:

Gotty sera par défaut le fichier de certificat ~ /.gotty.CRT et fichier clé ~ /.gotty.clé, Par conséquent, commencez par créer une certification auto-signée ainsi que le fichier clé à l'aide du OpenSSL Commande ci-dessous (Répondez à la question posée afin de générer les fichiers CERT et clés):

# OpenSSL REQ -X509 -NODES -DAYS 365 -NEWKEY RSA: 2048 -Keyout ~ /.gotty.key -out ~ /.gotty.CRT 

Ensuite, utilisez Gotty de manière sécurisée avec SSL / TLS activé comme suit:

# gotty -tr - title-format "gotty -  .Commande  ( .Nom d'hôte) "regards 

Partagez votre terminal avec plusieurs clients

Vous pouvez utiliser les multiplexeurs de terminaux pour partager un seul processus avec plusieurs clients, la commande suivante démarrera une nouvelle session TMUX nommée Gotty avec Glances Commande (assurez-vous que TMUX soit installé):

# gotty tmux new -a -s gotty regards 

Pour lire un fichier de configuration différent, utilisez le -config “/ path / to / fichier”Option comme tel:

# gotty -tr --config "~ / gotty_new_config" - title-format "gotty -  .Commande  ( .Nom d'hôte) "regards 

Pour afficher la version gotty, exécutez la commande:

# gotty -v 

Visitez le référentiel Gotty Github pour trouver plus d'exemples d'utilisation: https: // github.com / yudai / gotty

C'est tout! L'avez-vous essayé? Comment trouvez-vous Gotty? Partagez vos réflexions avec nous via le formulaire de rétroaction ci-dessous.