Dica: Cliente OpenSSH como SOCKS Server

OpenSSH é uma versão livre das ferramentas SSH, que permite um acesso remoto seguro, através de encriptação de dados.

Também existe na forma scp (Secure Copy) e sftp (Secure FTP), que utilizam o protocolo SSH para transferir ficheiros de forma segura, ainda podemos utilizar para este efeito um plugin (sshfs) para FUSE.

Estou a assumir que possuem o cliente ssh na linha de comandos, Linux, *BSD, OSX já costumam instalar a aplicação numa instalação base. Para Windows podem utilizar Cygwin, que fornece uma shell, por exemplo bash e oferece as várias ferramentas de Unix para Windows ou Putty que entre outros protocolos, é um cliente ssh.

Avançando para o que interessa. Para podermos utilizar esta funcionalidade, precisamos de ter acesso a um computador remoto que esteja a correr o serviço SSHD, já que é a ligação dele que vamos utilizar.

Vamos imaginar que estamos num local, com tráfego bloqueado a alguns sites ou a determinadas portas, o que vamos fazer é criar uma ponte até ao nosso computador remoto por ssh e utilizar essa ponte para nos libertar das amarras. É claro que a porta que vamos utilizar para a ponte tem de estar aberta, mas podemos sempre manipular esse valor.

No computador local executar (Mac, *Nix, Cygwin)

$ sudo ssh -CND9999 host.meudominio.tld
  • -N Não excuta nada, nem abre shell. Apenas a ligação
  • -D define a porta local, à qual nos vamos ligar
  • -C activar compressão
  • sudo elevação de privilégios

Windows (sempre mais complicado, sorte ter uma VM à mão), Putty:

putty 01
putty 02
putty 03

A partir daqui, temos uma ligação ao nosso servidor remoto e a porta 9999 aberta no localhost (computador local) pronta a receber ligação

Após estes passos, basta configurar a nossa aplicação para utilizar como SOCKS Server o seguinte localhost:9999.

Ex. Mac OS X,

apple network

Claro, repetir o processo nas aplicações que acedem à Internet, Firefox, Adium, Pidgim, qualquer uma que suporte SOCKS, pode utilizar esta ponte e sair sem restrições.

Taxonomy upgrade extras:

Comments

kem tem porta SSH ja bloqueda nao pode fazer nada?

Pode, a partir do momento que tenha a possibilidade de manipular a porta no lado do servidor SSH e defini-la por exemplo, para porta 80, ou outra que se encontre aberta.

Alguém pode me ajudar?

Tenho um servidor SSH no Windows...ao editar o sshd_config mudo a porta para 443 e nas configurações do ssh_config também para 443 quando tento fazer a conexão da conexão refused mais se tento conectar pela porta 22 conecta normalmente e nem preciso mudar as alterações que efetuei (mudar a porta)

O que será que acontece que a porta não muda???
será que o Virtua bloqueia a porta?

Obrigado

Por omissão 443 é a porta para HTTPS/SSL, verifique que não tem nenhum webserver já nessa porta.

Quando efectuar a alteração no servidor ssh, verifique o debug ao reiniciar o serviço, também ajuda a identificar o problema.

Não necessita de modificar o ssh_config, apenas o sshd_config. Pode ligar-se com ssh host -p porta