Gotty - compartilhe seu terminal Linux (TTY) como um aplicativo da web

Gotty - compartilhe seu terminal Linux (TTY) como um aplicativo da web

Gotty é uma ferramenta simples de linha de comando baseada em Golang que permite compartilhar seu terminal (TTY) como um aplicativo da web. Ele transforma as ferramentas de linha de comando em aplicativos da web.

Emprega o emulador de terminal do Chrome OS (Herm) para executar um terminal baseado em JavaScript em um navegador da Web. E importante, Gotty executa um servidor de soquete da web que basicamente transfere a saída do Tty para clientes e recebe insumos de clientes (ou seja, se a entrada dos clientes for permitida) e a encaminhará para o Tty.

Leia também: Teleconsole - Compartilhe seu terminal Linux com seus amigos

Sua arquitetura (Ideia de soquete da Web Herm +) foi inspirada por Programa úmido que permite o terminal sobre Http e Https.

Pré -requisitos:

Você deve ter o ambiente de Golang (Go Programming Language) instalado no Linux para executar o Gottty.

Como instalar o Gotty em sistemas Linux

Se você já tem um ambiente de Golang em funcionamento, execute o vai pegar Comando abaixo para instalá -lo:

# vá buscar github.com/yudai/gotty 

O comando acima instalará o Gotty binário em seu Gobin Variável de ambiente, tente verificar se é esse o caso:

# ls $ gopath/bin/ 
Verifique o ambiente Gobin

Como usar Gotty no Linux

Para executá -lo, você pode usar o Gobin Env Recurso variável e de preenchimento automático de comando da seguinte forma:

# $ Gobin/gotty 

Caso contrário, corra Gotty ou qualquer outro programa GO sem digitar o caminho completo para o binário, adicione sua variável gobin ao caminho no ~/.perfil arquivo usando o exportar Comando abaixo:

Caminho de exportação = "$ PATH: $ GOBIN" 

Salve o arquivo e feche-o. Em seguida, obtenha o arquivo para efetuar as alterações acima:

# fonte ~///.perfil 

A sintaxe geral para executar comandos Gotty é:

Uso: Gotty [Options] [] 

Agora execute Gotty com qualquer comando como o comando df para visualizar o espaço do disco do sistema espaço e uso do navegador da web:

# gotty df -h 

Gotty vai iniciar um servidor da web na porta 8080 por padrão. Em seguida, abra o URL: http: // 127.0.0.1: 8080/ No seu navegador da web e você verá o comando em execução como se estivesse em execução no seu terminal:

Uso do disco linux gotty

Como personalizar Gotty no Linux

Você pode alterar as opções padrão e seu terminal (Herm) no arquivo de perfil ~/.Gotty, Ele carregará este arquivo por padrão, caso exista.

Este é o principal arquivo de personalização lido pelos comandos Gotty; portanto, crie -o da seguinte forma:

# touch ~///.Gotty 

E defina seus próprios valores válidos para as opções de configuração (encontre todas as opções de configuração aqui) para personalizar Gotty, por exemplo:

// Ouça na porta 9000 por porta padrão = "9000" // Ativar TSL/SSL por padrão enable_tls = True // Herm Preferências // Font menor e um pouco de preferências de cor de fundo mais azul font_size = 5, Background_color = "rgb ( 16, 16, 32) " 

Você pode definir o seu próprio índice.html arquivo usando o --índice opção da linha de comando:

# Gotty --index/Path/to/Índice.HTML Uptime 

Como usar os recursos de segurança em Gotty

Porque Gotty Não oferece segurança confiável por padrão, você precisa usar manualmente certos recursos de segurança explicados abaixo.

Permitir que os clientes executem comandos/digite entrada no terminal

Observe que, por padrão, Gotty não permite que os clientes digitem a entrada no TTY, ele apenas permite o redimensionamento da janela.

No entanto, você pode usar o -c ou --permissão-escrivão opção para permitir que os clientes escrevam para o TTY, o que não é recomendado devido a ameaças à segurança ao servidor.

O seguinte comando usará o VI Command Line Editor para abrir o arquivo fossmint.TXT Para edição no navegador da web:

# gotty -w vi fossmint.TXT 

Abaixo está a interface VI, como visto no navegador da web (use os comandos VI aqui como de costume):

Editor Gotty Web VI

Use Gotty com autenticação básica (nome de usuário e senha)

Tente ativar um mecanismo básico de autenticação, onde os clientes serão obrigados a inserir o nome de usuário e a senha especificados para se conectar ao servidor Gotty.

O comando abaixo restringirá o acesso ao cliente usando o -c Opção para solicitar aos usuários credenciais especificadas (nome de usuário: teste e senha: @67890):

# Gotty -w -p "9000" -C "Teste:@67890" Gross 
Gotty com autenticação básica

Gotty Gereate URL aleatório

Outra maneira de restringir o acesso ao servidor é usando o -r opção. Aqui, Gotty gerará um URL aleatório para que apenas os usuários que conhecem o URL possam ter acesso ao servidor.

Use também o -formato de título “Gotty - .Comando ( .Nome de anfitrião )”Opção para definir o comando do título da interface e os Gannces dos navegadores da web é usado para mostrar estatísticas de monitoramento do sistema:

# gotty -r -title -format "gotty - .Comando ( .Nome do host) "olhares 

A seguir, é resultado do comando acima, como visto na interface do navegador da web:

Gotty Random URL para o Monitoramento do Linux de olhar

Use Gotty com SSL/TLS

Porque, por padrão, todas as conexões entre o servidor e os clientes não são criptografadas, quando você envia informações secretas através de Gotty, como credenciais do usuário ou qualquer outra informação, você deve usar o -t ou --TLS Opção que permite o TLS/SSL na sessão:

Gotty Will, por padrão, leia o arquivo de certificado ~/.Gotty.Crt e arquivo chave ~/.Gotty.chave, Portanto, comece criando uma certificação autoassinada, bem como o arquivo-chave usando o OpenSSL Comando abaixo (responda à pergunta feita para gerar os arquivos certificados e chave):

# OpenSSL Req -x509 -Nodes -Days 365 -NewKey RSA: 2048 -Keyout ~/.Gotty.chave --out ~//.Gotty.Crt 

Em seguida, use Gotty de uma maneira segura com o SSL/TLS ativado da seguinte forma:

# Gotty -Tr -Title -format "Gotty - .Comando ( .Nome do host) "olhares 

Compartilhe seu terminal com vários clientes

Você pode fazer uso de multiplexadores de terminais para compartilhar um único processo com vários clientes, o comando a seguir iniciará uma nova sessão do TMUX chamada Gotty With Gannces Command (verifique se você está instalado no TMUX):

# Gotty tmux novo -a -s Gotty Gannces 

Para ler um arquivo de configuração diferente, use o -Config “/path/to/arquivo”Opção como assim:

# gotty -tr - -config "~/gotty_new_config" - -title format "gotty - .Comando ( .Nome do host) "olhares 

Para exibir a versão Gotty, execute o comando:

# gotty -v 

Visite o repositório Gotty Github para encontrar mais exemplos de uso: https: // github.com/yudai/gotty

Isso é tudo! Voce já experimentou? Como você encontra Gotty? Compartilhe seus pensamentos conosco através do formulário de feedback abaixo.