Shell In A Box: Como acessar um servidor SSH via navegador (sem plugin) | O Analista
por O Analista 20 de setembro de 2016 21 de setembro de 2016 01382
Normalmente quando acessamos um servidor SSH, fazemos isso por meio de um software cliente ou por aqueles plugins de navegador. Em ambos os casos é necessário que a porta 22 (ou outra definida pelo administrador) esteja configurada e liberada para acesso.
Existem situações que, o acesso via SSH não está liberado, o que normalmente ocorre por conta de alguma PSI (Política de Segurança da Informação).
Mostrarei a você como instalar o Shell In A Box, um emulador de terminal que funciona sob o navegador, criado por Markus Gutschke. O Shelinabox foi embutido em um servidor web que funciona como um cliente SSH em navegador sob uma porta específica e permitirá à você controlar e acessar remotamente o shell de um servidor SSH usando qualquer navegador que possua suporte ao AJAX/JavaScript e CSS, sem a necessidade de qualquer plugin, como o FireSSH.
1 – Instalando o Shell In A Box no Linux
Por padrão o Shellinabox é incluído em diversas distribuições através de seus repositórios, como o Debian, Ubuntu e Linux Mint.
Obs: Instalei o Shellinabox no CentOS 7.2, mas você verá abaixo informações sobre outras distribuições.
1.1 – Debian, Ubuntu e Linux Mint
Tenha certeza de que seu repositório está ativado e disponível para instalar o Shellinabox. Para verificar, faça uma busca por Shellinabox com o comando "apt-cache" e então instale com o comando "apt-get".
1.2 – No RedHat Enterprise, CentOS e Fedora
Em distribuições baseadas em RedHat, primeiramente é necessário ativar o repositório EPEL, usando o seguinte procedimento (conforme sua distribuição):
Para RHEL, CentOS 7 64 bits
Para RHEL, CentOS 6 32 bits
sudo wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
Para RHEL, CentOS 6 64 bits
Para RHEL, CentOS 5 32 bits
sudo wget http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
Para RHEL, CentOS 5 64 bits
Verificando se o repositório EPEL está ativado
Digite o comando yum repolist e verifique se no resultado aparece algo como:
epel Extra Packages for Enterprise Linux 7 – i386 4,320+1,408
Para instalar o shellinabox digite:
sudo yum install openssl shellinabox
2 – Configurando o Shellinabox
Por padrão o Shellinabox espera por conexões TCP na porta 4200 em localhost. Por razões de segurança, altere esta porta padrão para uma randômica (por exemplo, a 6175), a fim de dificultar que alguém possa chegar até o nosso Shellinabox.
Lembrando que, o Shellinabox deve ser instalado no servidor que possui o serviço de SSH.
2.1 – No Debian, Ubuntu e Linux Mint
Edite o arquivo de configuração, digitando:
elelDentro do arquivo, altere a porta para a de sua preferência:
E informe o endereço do servidor que possui o serviço de SSH:
SHELLINABOX_ARGS="–o-beep -s /:SSH:192.168.0.250"
2.2 – No RHEL, CentOS e Fedora
Neste arquivo, desativei a linha onde diz #OPTS="–disable-ssl-menu -s /:LOGIN" e adicionei a seguinte:
OPTS="-s /:SSH:192.168.0.250″
Informe o endereço IP conforme o seu cenário. No exemplo acima, configurei a porta padrão 4200, mas fique a vontade para a porta de sua preferência.
3 – Iniciando o Shellinabox
Uma vez terminada a configuração, chegou a hora de iniciar o Shellinabox. Nas distribuições baseadas em Debian ou RedHat pode-se utilizar o seguinte comando para o serviço:
4 – Verificando o serviço
Após iniciar o serviço, podemos verificar se ele está em execução. Para isso digite comando:
sudo netstat -putan | grep shellinabox
Vimos que ele está em execução sob a porta que definimos anteriormente (4200) , bem como o seu status (OUÇA ou LISTENING).
O parâmetro -putan (achei mais fácil lembrar se colocar nessa sequência…) mostra além da porta, o nome e o número do processo.