Um titulo um tanto quanto estranho, porém que vai mudar a vida do SysAdmin que estiver lendo isso.
Vamos ao caso:
Nem sempre eu me encontro no computador e quase sempre que estou em algum departamento mais distante ou que eu vá demorar para voltar a minha sala pedem algo com urgência para ser feito, e eu não gosto de acessar via SSH de qualquer computador quanto menos usar softwares como PuTTY, então pesquisei por algo que emulasse ou disponibilizasse um terminal *nix no browser para que de qualquer local da rede eu pudesse acessar.
Então encontrei o shellinabox, deve existir outras alternativas mas esta se encaixou perfeitamente e adotei ela como solução, agora vamos ao procedimento de instalação.
Acesso o site do projeto http://code.google.com/p/shellinabox/ e baixe a versão para 32bits ou 64bits.
cleiton@linuxVM:~$ cd /usr/src/ cleiton@linuxVM:/usr/src$ sudo wget http://shellinabox.googlecode.com/files/shellinabox_2.10-1_i386.deb
Ok, agora vamos instalar:
cleiton@linuxVM:/usr/src$ sudo dpkg -i shellinabox_2.10-1_i386.deb Selecionando pacote previamente não selecionado shellinabox. (Lendo banco de dados ... 217337 ficheiros e directórios actualmente instalados.) Desempacotando shellinabox (de shellinabox_2.10-1_i386.deb) ... Configurando shellinabox (2.10-1) ... * Starting Shell In A Box Daemon shellinabox [ OK ] Processando gatilhos para ureadahead ... Processando gatilhos para man-db ... cleiton@linuxVM:/usr/src$
Na teoria já esta instalado e o serviço shellinaboxd rodando, no meu caso na VM que estou usando para escrever este post e na empresa não funcionou de primeira, tive que modificar o arquivo de configuração do shellinabox como abaixo, além é claro de você ter que liberar a porta 4200 (default) no firewall para funcionar.
cleiton@linuxVM:~$ sudo /etc/init.d/shellinabox stop cleiton@linuxVM:~$ cat /etc/default/shellinabox # Should shellinaboxd start automatically SHELLINABOX_DAEMON_START=1 # TCP port that shellinboxd's webserver listens on #SHELLINABOX_PORT=4200 SHELLINABOX_PORT=4722 # Parameters that are managed by the system and usually should not need # changing: SHELLINABOX_DATADIR=/var/lib/shellinabox SHELLINABOX_USER=shellinabox SHELLINABOX_GROUP=shellinabox # Any optional arguments (e.g. extra service definitions) # We disable beeps, as there have been reports of the VLC plugin crashing # Firefox on Linux/x86_64. SHELLINABOX_ARGS=--no-beep cleiton@linuxVM:~$ sudo /etc/init.d/shellinabox start
No default as linhas 12,13 e 14 estaram comentadas, descomente e salve o arquivo, no caso a porta default é 4200 como esta porta esta em uso aqui eu troquei pela 4722, ae é subir o serviço e testar.
Mas algo me incomodou como um bom e velho usuário do mundo *nix, que é o fundo do terminal (rs). Pois é eu queria o fundo preto, então fuçando encontrei o arquivo /etc/shellinabox/options-available/README que comenta o seguinte, no diretório /etc/shellinabox/options-available/ encontra-se os arquivos .css que o serviço utiliza, e os arquivo com + são os ativos e os _ são desabilitados ou ignorados pelo serviço.
cleiton@linuxVM:~$ ls -l /etc/shellinabox/ total 8 drwxr-xr-x 2 root root 4096 2013-12-18 18:48 options-available drwxr-xr-x 2 root root 4096 2013-12-18 18:48 options-enabled cleiton@linuxVM:~$ ls -l /etc/shellinabox/options-available/ total 16 -rw-r--r-- 1 root root 0 2009-11-21 21:56 00+Black on White.css -rw-r--r-- 1 root root 350 2009-11-21 21:56 00_White On Black.css -rw-r--r-- 1 root root 1910 2009-11-21 21:56 01+Color Terminal.css -rw-r--r-- 1 root root 1401 2009-11-21 21:56 01_Monochrome.css -rw-r--r-- 1 root root 819 2009-11-21 21:56 README cleiton@linuxVM:~$ ls -l /etc/shellinabox/options-enabled/ total 4 lrwxrwxrwx 1 root root 42 2013-12-18 18:48 00+Black on White.css -> ../options-available/00+Black on White.css lrwxrwxrwx 1 root root 42 2013-12-18 18:48 00_White On Black.css -> ../options-available/00_White On Black.css lrwxrwxrwx 1 root root 42 2013-12-18 18:48 01+Color Terminal.css -> ../options-available/01+Color Terminal.css lrwxrwxrwx 1 root root 38 2013-12-18 18:48 01_Monochrome.css -> ../options-available/01_Monochrome.css -rw-r--r-- 1 root root 189 2009-11-21 21:56 README cleiton@linuxVM:~$
Então vamos trocar 00+Black on White.css para 00+White On Black.css e no anterior adicionar _, e é claro corrigir os links simbólicos de options-enabled e reiniciar o serviço.
cleiton@linuxVM:~$ ls -l /etc/shellinabox/options-available/ total 16 -rw-r--r-- 1 root root 0 2009-11-21 21:56 00_Black on White.css -rw-r--r-- 1 root root 350 2009-11-21 21:56 00+White On Black.css -rw-r--r-- 1 root root 1910 2009-11-21 21:56 01+Color Terminal.css -rw-r--r-- 1 root root 1401 2009-11-21 21:56 01_Monochrome.css -rw-r--r-- 1 root root 819 2009-11-21 21:56 README cleiton@linuxVM:~$ ls -l /etc/shellinabox/options-enabled/ total 4 lrwxrwxrwx 1 root root 42 2013-12-18 19:25 00_Black on White.css -> ../options-available/00_Black on White.css lrwxrwxrwx 1 root root 42 2013-12-18 19:26 00+White On Black.css -> ../options-available/00+White On Black.css lrwxrwxrwx 1 root root 42 2013-12-18 18:48 01+Color Terminal.css -> ../options-available/01+Color Terminal.css lrwxrwxrwx 1 root root 38 2013-12-18 18:48 01_Monochrome.css -> ../options-available/01_Monochrome.css -rw-r--r-- 1 root root 189 2009-11-21 21:56 README cleiton@linuxVM:~$ sudo /etc/init.d/shellinabox restart
Espero que tenham gostado da dica.
Testes:
No firefox funcionou tudo belezinha se não fosse o detalhe que a tecla 0 que tem o – junto não funciona, do resto perfeito, no Internet Explorer funcionou normalmente no modo compatibilidade e no chrome sem problemas.
Até a próxima!
Referências
http://code.google.com/p/shellinabox/
Shell In A Box – A Web-Based SSH Terminal to Access Remote Linux Servers
Linux – Terminal via web by Cleiton Bueno is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.