Acesse seu terminal diretamente no navegador, seja localhost ou remotamente, usando o wetty, e como tornar esse acesso mais seguro!
| Se você apoia nosso site, desative o AdBlock quando visitá-lo, inclusive em Mobile!
Os anúncios são poucos e não invasivos. Se quiser contribuir com nosso trabalho, clique em qualquer banner de sua preferência, exceto dos Parceiros. Mais detalhes clicando aqui.
1. Introdução
O Terminal é uma ferramenta poderosa entre os sistemas baseados em UNIX®, afinal com ele se faz praticamente qualquer coisa: Pode abrir o ChatGPT, cultivar um Bonsai, dar comandos de manutenção, enfim, é uma solução eficiente!
Mas já imaginou executar ele diretamente em seu navegador de internet? Dessa forma o terminal fica disponível localmente ou remotamente, bastando abrir o IP do seu computador em outro dispositivo usando qualquer navegador de internet de sua escolha.
E para isso, recomendo o WeTTY! Existem soluções melhores como o shellhub.io mas eu particularmente gostei do WeTTY pela simplicidade. O ShellHub possui recursos mais avançados para administração de Cloud Servers como Azure® ou Amazon WS.
2. WeTTY: Web + TTY
De acordo com o próprio projeto, “o WeTTY é uma alternativa para ajaxterm e anyterm, mas muito melhor do que eles por usar xterm.js, que é uma implementação completa de emulação de terminal escrita inteiramente em JavaScript. O WeTTY usa websockets em vez de Ajax e, portanto, possui melhor tempo de resposta”.
Concordo com tais afirmações:
Em meus testes o acesso foi simples e fluído herdando as configurações padrão do meu arquivo .bashrc!
3. Instalação
A instalação pode ser realizada de 2 formas, escolha a que for mais conveniente.
Particularmente prefiro a opção com containers Docker por ser mais simples de configurar e remover se houver necessidade.
3.1 Yarn
Para a primeira maneira de configurar o WeTTY utilizaremos o gerenciador de pacotes YARN para aplicar o WeTTY ao sistema. Instale o Yarn em sua distribuição, normalmente disponível nos repositórios:
Para Ubuntu, Debian e derivados:
$ sudo apt install yarn
Para sistemas ArchLinux-based:
$ sudo pacman -S yarn
Se sua distro não possuir o Yarn nos repositórios, execute o comando genérico de instalação:
$ curl -o- -L https://yarnpkg.com/install.sh | bash
3.2 Docker
Primeiro instale o Docker em seu sistema.
Para Ubuntu, Debian e derivados:
$ sudo apt install docker.io
Para sistemas ArchLinux-based:
$ sudo pacman -S docker.io
Agora execute este comando:
$ docker run --name wetty -it -p 3000:3000 wettyoss/wetty --ssh-host=SEU_IP &
Atento para colocar o seu IP atual do seu sistema no campo acima!
Aguarde alguns minutos e pronto: O serviço estará no ar!
3.2.1 Remoção
Para parar o container, utilize os seguintes comandos:
$ docker stop wetty
Para removê-lo:
$ docker rm wetty
4. Utilização
Uma vez que o WeTTY estiver em execução, se tudo correu bem, você poderá acessa-lo localmente de seu navegador:
http://localhost:3000/wetty
Ele pedirá o usuário e senha do usuário desejado – tanto o atualmente logado como root – e você já estará dentro do terminal!
5. Segurança
Para reforçar a segurança no localhost é interessante ter um certificado SSL, do contrário o acesso Web pode expor seu usuário e senha como plaintext na rede a alguém que utilize a técnica man-in-the-middle.
Se for acessar remotamente, utilize uma VPN; Se for acessar a página web diretamente abrindo a porta 3000 no modem, é imperativo que use um certificado SSL!
Para tal o projeto oferece uma página com dicas, mas adianto que isso requer um conhecimento sobre certificações web e como elas funcionam. Qualquer certificação funcionará, tanto via Apache quanto NGINX.
Devido à natureza do conteúdo não caberá uma explicação maior nesta publicação.
6. Conclusão
Ter acesso direto via Web ao terminal do seu sistema linux pode ser uma solução útil para melhorar a forma como o sistema é gerenciado, principalmente remotamente.
Ou em sistemas cujo uso se dê prioritariamente via navegador, como os Chromebooks, o terminal dentro do navegador pode tornar os trabalhos de manutenção mais produtivos!
Atento se algum plugin/extensão de navegador não vá trazer riscos de segurança também, portanto recomendo cautela extra se utilizar a ferramenta em um navegador com dezenas de extensões!
#UrbanCompassPony
Autodidata, me aprofundei em sistemas operacionais baseados em UNIX®, principalmente Linux. Também procuro trazer assuntos correlacionados direta ou indiretamente, como automação, robótica e embarcados.
gostei dessa parada heim!!!
Essa do bonsai achei interessante 😂