Como posso fazer um tunelamento SSH?

2

Depois de ler um artigo sobre o quão legal pode ser o SSH, eu tentei a solução dada sobre o tunelamento de sua conexão.

Esta é a primeira vez que eu tento isso.

Eu abri um terminal e digitei:

ssh -D 9999 -C myUsername@localhost

E eu recebi esta mensagem:

  

Portas privilegiadas só podem ser encaminhadas por root.

Então eu comecei de novo, desta vez com o sudo:

sudo ssh -D 9999 -C root@localhost

Mas ainda não consigo acessar. Esta é a mensagem que recebi desta vez:

  

ssh: conecta-se à porta host local do host 22: Conexão recusada

O que estou fazendo de errado?

    
por Rosamunda 21.10.2014 / 22:32

1 resposta

5

Um túnel simples é mais comumente feito como

ssh -L 8080: localhost: 80 [email protected]

Isso permitiria que você acessasse o servidor da web no servidor remoto, quando você tivesse acesso ssh a ele, mas não tivesse acesso à web.

ssh'ing para o seu localhost geralmente é inútil. Isso é feito apenas para verificar se o servidor ssh está funcionando corretamente ou se as chaves estão corretas.

O erro de conexão recusada que você vê é porque o servidor ssh não está sendo executado em sua máquina local. sudo apt-get install openssh-server Então você pode fazer ssh em sua máquina local a partir de localhost, ou em qualquer outro lugar você pode obter uma conexão de porta 22 para esta máquina a partir de (normalmente atrás de seu firewall de rede local)

-D (redirecionamento dinâmico de aplicativo) é um caso diferente, e seria mais aplicável se algum aplicativo complicado do client (por exemplo, mysql) em sua máquina local precisa acessar um servidor em uma máquina remota. É menos usado.

A mensagem sobre portas privilegiadas ocorre quando você tenta redirecionar uma porta local menor que 1024. Daí o uso da porta 8080 no exemplo acima, para evitar a porta privilegiada 80. Para o exemplo acima, seu navegador usaria      http://localhost:8080

    
por David McNeill 21.10.2014 / 23:14