Raspberry Pi: servidor SSH pelo navegador web

Geralmente as políticas de segurança (no proxy e firewall) em ambientes corporativos, bloqueiam portas para limitar o acesso de seus usuários à internet. No caso da rede do meu ambiente de trabalho, via de regra, todas as portas são bloqueadas exceto a porta 80 (HTTP) e em alguns casos a porta 443 (HTTPS).

Atenção: É altamente recomendada a leitura – e execução – dos procedimentos descritos no post “Raspberry Pi: tornando o Raspbian mais seguro” antes de continuar a executar os procedimentos abaixo.

Normalmente preciso acessar minha rede residencial para mexer em meu servidor NAS (FreeNAS) pelo modo console, ou seja, utilizando a porta 22 (SSH). Infelizmente esta porta é bloqueada na rede corporativa.

Como eu tinha em casa um Raspberry Pi subutilizado e, levando em consideração que a carga de processamento no gerenciamento de conexões SSH é realmente ínfimo, resolvi utilizar o Raspberry Pi como “porta de entrada” da minha rede residencial.

Pesquisando pela internet, achei o Shell In A Box, que nada mais é que um emulador de terminal baseado na Web, criado por Markus Gutschke. Ele possui um servidor web interno que funciona como um cliente SSH baseado na web em uma porta específica. Ele exibe um emulador de terminal web para acessar e controlar remotamente servidores Linux usando AJAX/JavaScript e CSS nativamente habilitados em navegadores, sem a necessidade de quaisquer plug-ins adicionais.

Atenção: Este procedimento só é recomendável caso você saiba o que está fazendo! Não me responsabilizo por perdas de dados ou falhas de segurança na sua rede!

1. Instalando o Shell In A Box:

Para instalar o Shell In A Box no Raspbian, execute:

2. Configurando:

Por padrão o daemon shellinabox escuta a porta 4200 (TCP) no localhost. Para conseguir “burlar” o problema com o bloqueio de portas do meu ambiente de trabalho, eu alterei a porta para 80 e desativei a utilização do SSL.

Para configurar shellinabox o edite o arquivo de configuração usando o seguinte comando:

Altere as linhas do arquivo conforme abaixo:

3. Inicializando:

Após alterar o arquivo de configuração, é necessário que o serviço do shellinabox.

4. Verificando o funcionamento:

Para verificar se o daemon do shellinabox está funcionando corretamente (escutando a porta 80), basta utilizar o comando “netstat“:

Deixe uma resposta