Eu estou tentando entender as diferenças entre ssh -L para -D. Existe mais alguma coisa, exceto que -D é apenas MEIAS?
Obrigado!
Eu estou tentando entender as diferenças entre ssh -L para -D. Existe mais alguma coisa, exceto que -D é apenas MEIAS?
Obrigado!
Respostas:
ssh -L
abre uma porta local. Tudo o que você envia para essa porta é colocado na conexão ssh e sai pelo servidor. Se você ssh -L 4444:google.com:80
abrir , por exemplo, se abrir http://localhost:4444
no navegador, verá a página do google.
ssh -D
abre uma porta local, mas não possui um endpoint específico como com -L
. Em vez disso, ele finge ser um proxy do SOCKS. Se você abrir, por exemplo, ssh -D 7777
quando você instrui seu navegador a usar localhost:7777
como proxy SOCKS, tudo o que seu navegador solicita passa pelo túnel ssh. Para a Internet pública, é como se você estivesse navegando no servidor ssh em vez de no computador.
The bind_address of “localhost” indicates that the listening port be bound for local use only, while an empty address or ‘*’ indicates that the port should be available from all interfaces.
ssh -L 4444:google.com:80
não funciona para mim, requer outro parâmetro para fazer login, como user@example.com
No SSH, -D
especifica um encaminhamento de porta local "dinâmico" em nível de aplicativo.
SSH -D [bind_address:]port
Especifica um encaminhamento de porta local "dinâmico" em nível de aplicativo. Isso funciona alocando um soquete para escutar a porta no lado local, opcionalmente ligada ao endereço de bind especificado. Sempre que uma conexão é feita a essa porta, a conexão é encaminhada pelo canal seguro e o protocolo do aplicativo é usado para determinar para onde se conectar a partir da máquina remota. Atualmente, os protocolos SOCKS4 e SOCKS5 são suportados, e o ssh atuará como um servidor SOCKS. Somente o root pode encaminhar portas privilegiadas. O encaminhamento de porta dinâmico também pode ser especificado no arquivo de configuração.
Os endereços IPv6 podem ser especificados com uma sintaxe alternativa: porta [bind_address /] ou colocando o endereço entre colchetes.
Somente o superusuário pode encaminhar portas privilegiadas. Por padrão, a porta local é vinculada de acordo com a configuração GatewayPorts. No entanto, um bind_address explícito pode ser usado para vincular a conexão a um endereço específico. O endereço bind_ do “localhost” indica que a porta de atendimento deve ser ligada apenas para uso local, enquanto um endereço vazio ou '*' indica que a porta deve estar disponível em todas as interfaces.
Além disso, ssh -L
especifica que a porta especificada no host local (cliente) deve ser encaminhada para o host e a porta especificados no lado remoto.
SSH -L [bind_address:]port:host:hostport
Especifica que a porta especificada no host local (cliente) deve ser encaminhada para o host especificado e a porta no lado remoto. Isso funciona alocando um soquete para escutar a porta no lado local, opcionalmente ligada ao endereço de bind especificado. Sempre que uma conexão é feita a essa porta, ela é encaminhada pelo canal seguro e uma conexão é feita para hospedar o hostport da porta da máquina remota. Os encaminhamentos de porta também podem ser especificados no arquivo de configuração. Os endereços IPv6 podem ser especificados com uma sintaxe alternativa: [bind_address /] port / host / hostport ou colocando o endereço entre colchetes.
Somente o superusuário pode encaminhar portas privilegiadas. Por padrão, a porta local é vinculada de acordo com a configuração GatewayPorts. No entanto, um bind_address explícito pode ser usado para vincular a conexão a um endereço específico. O endereço bind_ do “localhost” indica que a porta de atendimento deve ser ligada apenas para uso local, enquanto um endereço vazio ou '*' indica que a porta deve estar disponível em todas as interfaces.