CONEXAO REVERSA POR SSH


PROBLEMA

Você necessita acessar um determinado servidor que está protegido por firewall ou está atrás de um NAT e não possui IP público


SOLUÇÃO

Utilizar um servidor de ponte para fazer uma conexão reversa!


Considere para o exemplo:

  • ponte como o host em que ambos acessam (host na internet) escutando o ssh na porta 443
  • servidor, como sendo o host que vc quer acessar remotamente
  • userponte : usuário utilizado para se conectar no host ponte
  • Se necessário, você tem que liberar a porta no firewall no host ponte, neste exemplo estamos considerando a porta 10000

No servidor que vc quer acessar, execute:

ssh -R 10000:localhost:22 userponte@ponte -p 443

Sendo:

  • 10000 -> porta que deve estar liberada no servidor de ponte
  • 22 -> porta que vai receber a conexao no servidor (exemplo, se vc se conecta neste servidor via ssh na porta 7777, vc deve alterar o 22 para 7777)
  • userponte -> Usuário para vc acessar o servidor ponte
  • ponte -> IP ou endereço de domínio do servidor ponte
  • 443 -> Porta que vc utiliza para acessar o servidor ponte. Se for 22, altere o 443 para 22

Na ponte (para voltar na conexao), execute:

ssh localhost -p 10000

Isso mesmo, aponte a conexão para localhost.

E é isso :)