A resposta simples é que nem todos os programas falam SOCKS , o que é necessário para usar -D
. A grande maioria deles suporta apenas proxies HTTP CONNECT ou não tem nenhuma configuração de proxy - eles esperam um endereço & porta para acessar o servidor diretamente e nada mais.
Para usar esses programas com ssh -D
, você precisaria de uma camada intermediária que falasse SOCKS em nome desses programas sempre que eles desejassem se conectar em algum lugar.
Tais camadas existem, é claro, mas agora você está adicionando duas camadas extras que se anulam mutuamente. Em muitos casos, onde o programa precisa apenas contatar exatamente um host através do túnel, isso é apenas uma complexidade desnecessária.