Durante minhas instalações do
WebHTB, eu encontrei alguns problemas em casos específicos e que não foram muito claros, difíceis de diagnosticar. Caso tenham problemas, talvez a solução esteja aqui.
Caso você já possua o servidor SSH ativo em uma porta diferente da 22, provavelmente ao logar, ficará em espera infinitamente aguardando a tela inicial. Isso porque ao logar, o WebHTB faz uma conexão SSH para o próprio servidor (127.0.0.1) para manipular os arquivos e tabelas do banco de dados.
Para isso, primeiro abra o arquivo "auth.php" (que está na raiz dos diretórios do WebHTB) e procure pelo seguinte trecho:
$ssh = new Net_SSH2('127.0.0.1');
if(!$ssh->login('root', $AuthPW)){
$connection = ssh2_connect('127.0.0.1', 22);
if(!ssh2_auth_password($connection, 'root', $AuthPW)){
E altere de acordo com a porta utilizada. Neste exemplo, estamos utilizando o servidor SSH na porta 2222:
$ssh = new Net_SSH2('127.0.0.1', 2222);
if(!$ssh->login('root', $AuthPW)){
$connection = ssh2_connect('127.0.0.1', 2222);
if(!ssh2_auth_password($connection, 'root', $AuthPW)){
A seguir, vamos editar o arquivo "apply_changes.php" e modificarmos exatamente a mesma coisa. Procuramos pelo trecho:
include_once("Net/SSH2.php");
$ssh = new Net_SSH2('127.0.0.1');
if(!$ssh->login('root', $AuthPW)){
$connection = ssh2_connect('127.0.0.1', 22);
if(!ssh2_auth_password($connection, 'root', $AuthPW)){
E mudamos para:
include_once("Net/SSH2.php");
$ssh = new Net_SSH2('127.0.0.1', 2222);
if(!$ssh->login('root', $AuthPW)){
$connection = ssh2_connect('127.0.0.1', 2222);
if(!ssh2_auth_password($connection, 'root', $AuthPW)){
Basta salvar e o login na tela inicial do WebHTB ocorrerá corretamente.
Outro problema que pode ocorrer, dependendo da versão do seu servidor SSH, é que o WebHTB utiliza um determinado grupo de algoritmos de criptografia e, se dentre este grupo não houver algum que seja utilizado pelo SSH, ele não se conecta e gera um erro sobre isso no syslog (ou messages). Caso tenha problemas para logar e o procedimento acima não resolva, a chave do problema pode estar aí.
Para resolver é muito fácil, basta abrir o arquivo de configuração do SSH, que provavelmente está em
/etc/ssh/sshd_config e inserir a seguinte linha ao final do arquivo:
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,blowfish-cbc,aes128-cbc,3des-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc
Após isso, reinicie o sshd e o problema estará resolvido!
Bibliografia