Se houver um firewall bloqueando você, você terá que passar pelo proxy e não tentar ignorá-lo. Você não especificou que tipo de proxy existe (SOCKS / HTTP?).
Se o proxy é SOCKS, você só precisa de algum programa que "encaixe" seu comando scp, por exemplo:
- tsocks , permite que você armazene um programa específico, conectando chamadas do sistema; link
- O tun2socks , que desenvolvi, simula um roteador virtual por trás de uma interface de rede tun. É um pouco mais difícil de configurar, mas faz tudo passar pelo proxy SOCKS. O guia a seguir explica como usar tun2socks com um proxy SOCKS fornecido pela opção SSH -D, mas você deve simplesmente ignorar tudo o que ele diz sobre SSH e apenas especificar seu proxy SOCKS. link
Se, por outro lado, o servidor proxy é apenas HTTP, a situação é muito mais difícil. Se você tiver sorte, seu proxy HTTP suporta o comando CONNECT e você pode usá-lo para se conectar ao servidor SSH. Se o proxy estiver limitando o comando CONNECT a números de porta específicos, você terá que alterar o número da porta que seu servidor SSH está escutando para um permitido pelo proxy HTTP.
Um software que você pode usar para isso é ProxyTunnel : link
Mas, e se você precisar, mas não puder, alterar a porta de escuta do servidor SSH (ou quiser se conectar a qualquer coisa, não apenas ao seu servidor SSH)? Nesse caso, a única solução é passar por um servidor intermediário no qual você tem controle total. Então, conecte-se a esse servidor intermediário com o SSH (via ProxyTunnel). Então você pode:
- use a opção de encaminhamento dinâmico (-D) do SSH (que abre um servidor SOCKS local no cliente) e obtenha seu scp por meio dessa interface do SOCKS usando tsocks ou tun2socks, conforme descrito acima, ou
- configure uma IP VPN real entre o seu computador e o servidor intermediário ao qual você conseguiu se conectar (consulte a opção ssh -w)