Terminal via WEB com SHELLINABOX !

Gostaria de compartilhar algumas de suas soluções para determinados problemas? Dicas ou truques? Postem aqui.

Terminal via WEB com SHELLINABOX !

Mensagempor rodrigo.crescencio » 04/Jul/2012 04:48

E aí pessoal tudo jóia...

Primeiramente gostaria de agradecer a oportunidade de poder estar participando desde forum e fazer minha primeira contribuição de muitas.

Gostaria de mostrar neste pequeno tutorial uma ferramenta muito interessante, que me ajudou muito.

Atualmente sabemos que uma das formas de se acessar o servidor é via SSH, mas e se pudessemos acessar o servidor via WEB, isso mesmo, atráves de um navegador seja ele qual for, caso não seja possível utilizar o PuTTY.

Como de costume ao fuçar na internet achei um aplicativo que já vem nativo no ports que se chama Shellinabox, ele é muito pequeno, sua instalação não é nada complicada, e além de tudo é totalmente customizável, pois como o mesmo funciona em cima dos navegadores, pode-se configurar o mesmo para utilização de um arquivo externo em CSS.

Bom vamos a instalação e posteriormente sua configuração.

1) Acessar o ports no seguinte caminho:
Código: Selecionar todos
#cd /usr/ports/www/shellinabox
#make install clean


2) O segundo passo é ativar a inicialização e porta do Shellinabox no /etc/rc.conf:
Código: Selecionar todos
#echo "shellinabox_enable="YES"" >> /etc/rc.conf
#echo "shellinabox_port="8080"" >> /etc/rc.conf


3) Após o procedimento anterior vamos para a pasta onde ele foi instalado, que fica em:
Código: Selecionar todos
#cd /usr/local/etc/shellinabox


Dentro desta pasta deve haver um arquivo que foi criado automáticamente chamado: certificate.perm
Se você tentar executar o programa pela primeira vez, ele irá apresentar uma mensagem de erro de certificado e não irá inicializar, para resolver este probleminha sem reinicializar o servidor basta executar o seguinte comando:

Código: Selecionar todos
#rehash


Pronto após ele refazer o hash do certificado pode-se inicializar o aplicativo desta forma:

Código: Selecionar todos
#/usr/local/etc/rc.d/shellinaboxd start


Estamos incializando o aplicativo desta forma, pois não foi feita a reinicialização do servidor.

Para acessá-lo, basta ir no seu navegador e fazer o acesso da seguinte maneira:

Código: Selecionar todos
#http://ip_do_servidor:8080


OBS¹.: Lembrando que este aplicativo não faz acesso via ROOT, se faz necessário logar com um outro usuário e somente depois disso, deve-se fazer o login para o root através do comando:

Código: Selecionar todos
#su -


OBS².: Lembrando que a porta deve estar liberada no firewall para entrada e saída de pacotes, a porta mensionada ela pode ser alterada, porem deve-se tomar cuidado para alterar nas configurações do aplicativo também.

OBS³.: Mais adiante em um outro tópico irei mostrar passa-a-passo como customiza-lo para ficar igual à um terminal.

Por enquanto é isso pessoal, espero que gostem do tutorialzinho e muito obrigado !
FreeBSD == Your Choice - Your Way....

Rodrigo !
http://www.rcsolucoesinteligentes.com.br
/dev/null > 2>&1
Avatar do usuário
rodrigo.crescencio
Moderador
 
Mensagens: 16
Registrado em: 22/Jun/2012 21:19
Localização: Guarulhos - São Paulo

Re: Terminal via WEB com SHELLINABOX !

Mensagempor atpessoa » 04/Jul/2012 09:24

Maravilha rodrigo.crescencio, com todos contribuindo vamos crescer bastante. Valeu! :-)
Antônio Pessoa
Avatar do usuário
atpessoa
Administrador
 
Mensagens: 126
Registrado em: 20/Jun/2012 19:06
Localização: Recife, Pernambuco - Brasil

Re: Terminal via WEB com SHELLINABOX !

Mensagempor leonardoamsantos » 05/Jul/2012 15:56

Grande Rodrigo, direto ao ponto.
Fazia tempo que procurava algo assim.

vlw
leonardoamsantos
Membro
 
Mensagens: 1
Registrado em: 05/Jul/2012 13:47

Re: Terminal via WEB com SHELLINABOX !

Mensagempor cartola » 28/Jan/2013 14:28

Opa, eu já tinha usado um outro aplicativo semelhante, mas era bem limitado. Esse oferece um terminal com todas as suas funções? Tipo, posso usar um "vi" dentro dele ou fazer um ssh para outro servidor?

Provavelmente vou testar em breve!

Obrigado e um abraço, Cartola!
Avatar do usuário
cartola
Administrador
 
Mensagens: 25
Registrado em: 20/Jun/2012 20:31
Localização: Rio de Janeiro

Re: Terminal via WEB com SHELLINABOX !

Mensagempor cartola » 28/Jan/2013 14:56

Oi de novo Rodrigo,

em tempo, a parte em que você menciona a necessidade do "rehash" não é necessária. O rehash não tem relação com hash de certificado. O rehash é um comando interno do csh (shell padrão dos BSDs em geral) que atualiza a lista de comandos disponíveis nos caminhos de busca definidos pelas respectivas variáveis ambiente ($path). Como inclusive em seguida você sugere a execução de um comando com seu caminho completo, tanto faz rodar ou não o rehash. Segue um trecho do "man csh":

Código: Selecionar todos
       rehash  Causes the internal hash table of the contents of the  directo-
               ries  in the path variable to be recomputed.  This is needed if
               the autorehash shell variable is not set and new  commands  are
               added  to  directories  in  path while you are logged in.


Não é necessária também a etapa de ir até o /usr/local/etc/shellinabox.

Copiei e colei também os parâmetros para o rc.conf e vi que faltou a letra "d" que se refere ao daemon do shellinabox. O correto seria:

shellinaboxd_enable="YES"
shellinaboxd_port="8080"

Depois de iniciar o serviço com "/usr/local/etc/rc.d/shellinaboxd start" o arquivo /usr/local/etc/shellinabox/certificate.pem é então criado.

Já respondendo minhas próprias perguntas:

  • O aplicativo me deu um controle perfeito do terminal até onde pude testar, usei comandos que tomaram conta do terminal, como o "vi", e teclas de controle, como Ctrl+Z e ESC+p
  • Testei um ssh para outro servidor e funcionou perfeitamente também

Cara, muito show de bola, valeu mesmo! Isso vai me livrar de ter que fazer túneis via HTTPS em alguns lugares pra acessar outros :)

Abs, Cartola!
Avatar do usuário
cartola
Administrador
 
Mensagens: 25
Registrado em: 20/Jun/2012 20:31
Localização: Rio de Janeiro

Re: Terminal via WEB com SHELLINABOX !

Mensagempor cartola » 28/Jan/2013 21:22

Mais uma pra registrar: o programa não estava compatível com o Firefox 15 ou maior. Aparentemente funcionava corretamente, mas a tecla que tem o hífen (-) e o sublinhado (_) não funcionava. O bug é descrito aqui, bem como a solução.

Pra resolver usei o último patch descrito lá (0001-add-new-keyCodes-used-by-FF15.patch) da seguinte forma:

Com o aplicativo instalado, personalizado (CSS - vide o outro tutorial do Rodrigo) e funcionando fui ao diretório de instalação no ports, extraí os arquivos do ports, apliquei o patch, recompilei, removi a instalação anterior e instalei a nova:

Código: Selecionar todos
cd /usr/ports/www/shellinabox
make extract
cd work/shellinabox-2.14
patch < /caminho/do/patch/baixado/0001-add-new-keyCodes-used-by-FF15.patch


Nesse ponto o programa "patch" me pediu o nome do arquivo no qual aplicar o patch, então dei pra ele, depois de olhar dentro do próprio arquivo do patch: shellinabox/vt100.jspp

Depois continuei com a compilação:

Código: Selecionar todos
make


Antes de instalar tem que remover a anterior e antes disso é bom parar o serviço:

Código: Selecionar todos
/usr/local/etc/rc.d/shellinaboxd stop
make deinstall
make install


A remoção acabou removendo o script de inicialização personalizado que chamava o CSS, então foi necessário novamente editá-lo, como mencionado no outro tutorial que fala do CSS. Depois disso o serviço foi iniciado novamente e tudo resolvido!

O ideal talvez fosse propor um patch no port do FreeBSD. Alguém tá com prática nisso? Não lembro bem como fazer.

Abs, Cartola.
Avatar do usuário
cartola
Administrador
 
Mensagens: 25
Registrado em: 20/Jun/2012 20:31
Localização: Rio de Janeiro


Voltar para Howtos, Tutoriais & FAQs

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron