Estou trabalhando em uma universidade como assistente de pesquisa. Muitas vezes, eu gostaria de conectar os recursos da casa à universidade através de http ou ssh, mas eles estão impedidos de acesso externo. Portanto, eles têm um servidor ssh front-end onde podemos fazer o ssh para e de lá para outros hosts. Para acesso http, eles aconselham a configurar um túnel ssh como este
ssh -L 1234:proxyserver.university.fi:8080 publicsshserver.university.fi
e coloque as configurações de proxy do seu navegador para apontar para a porta 1234
Tudo bem e funcionando, mas eu não gostaria de deixar todo o meu outro tráfego na Internet passar por esse servidor proxy, e toda vez que quero me conectar à universidade, preciso executar essas etapas novamente.
O que eu gostaria:
- Configure um túnel ssh sempre que eu fizer login no meu computador. Eu tenho um certificado, portanto, nenhuma senha é necessária
- É possível redirecionar alguns domínios curinga sempre através do servidor ssh primeiro. Assim, quando digito intra.university.fi no meu navegador, de forma transparente, a solicitação passa pelo túnel. Mesmo quando eu quero ssh em outro recurso dentro da universidade
Isso é possível? Para a parte http, acho que talvez eu deva configurar meu próprio proxy transparente local para fazer isso facilmente. E a parte ssh?
man hosts
:IP_address canonical_hostname [aliases...]
. IMO, esta não é uma solução adequada.127.0.0.1 localhost ubuntu-64-desktop university.fi
.Eu uso um arquivo PAC (Proxy Auto-Config) para isso. Gostaria de colar o meu aqui, mas a Wikipedia tem um bom arquivo de exemplo .
No seu navegador, aponte a opção "Usar configuração automática de proxy de" para o arquivo (talvez hospedado em um servidor web compartilhado). Funciona em praticamente todos os navegadores meio decentes.
Observe que você ainda precisa configurar seus túneis SSH. (Ou use um
ssh -D
proxy SOCKS apenas para determinados hosts, definidos no seu PAC - mas o SOCKS não funciona no Opera.)EDIT : Certo, como não parece haver muito interesse do seu lado, vou expandir um pouco minha resposta. :-)
Para configurar automaticamente seu túnel SSH
sudo apt-get install autossh
e coloque isso no seu crontab:@reboot autossh -L 1234:proxyserver.university.fi:8080 publicsshserver.university.fi
Como alternativa, você pode colocar o comando ssh no seu
~/.bash_profile
ou ~ / .bashrc.Agora, para determinar quais domínios proxy e quais conectar-se diretamente, crie um PAC como este:
Em seguida, vá para as configurações avançadas de rede do Firefox e aponte para esse arquivo. Se for bem-sucedido, você verá a mensagem "PAC carregado" no seu console JavaScript (Ctrl + Shift + J). Se você não estiver usando o Firefox, remova as linhas de "alerta".
Este é um PAC bastante básico, mas deve ajudá-lo no seu caminho. A mina também analisa máscaras de rede IP para determinar serviços internos / externos etc.
Deixe-nos saber como você está se saindo.
fonte
Isenção de responsabilidade : não testei isso, apenas uma ideia.
Talvez você possa forçar os domínios privados a usar o 'proxy' simplesmente editando a configuração do host em seu sistema local. Se você apontar manualmente todos os domínios para localhost e tiver o túnel estabelecido, não:
http://privateaccess.tld:1234
Envie uma solicitação para:
localhost:1234
O que é realmente uma porta para o servidor proxy da rede interna. A solicitação ainda deve ser para o mesmo domínio, portanto, o servidor proxy deve responder corretamente.
Ou é o que me parece. Mais uma vez, apenas uma ideia.
fonte
FoxyProxy ( http://foxyproxy.mozdev.org/ ) resolve o problema de seleção automática de proxy. Ele foi projetado exatamente para esse fim, mas é, é claro, específico para o Firefox.
fonte
Tente configurar o proxy SOCKS com ssh (
ssh -D <portnumber> publicsshserver.university.fi
) e configure seu navegador para usar 127.0.0.1 e<portnumber>
como proxy. Você pode adicionar domínios para os quais ele deve ou não usar o proxy. Para outros serviços (por exemplo, vnc), você pode usar tsocks para fazê-lo usar seu túnel.fonte
Você provavelmente deve usar uma VPN em vez de apenas ssh para esse problema. Olhe para o openvpn.
fonte
A maneira mais fácil seria adicionar o comando ssh que se conecta ao servidor ao seu ~ / .bash_profile
Em seguida, crie um perfil separado no firefox que use essa configuração de proxy fazendo
Você pode criar um atalho na área de trabalho que seja executado
O comando no-remote permite executar várias instâncias do firefox simultaneamente. Certifique-se de definir as configurações de proxy neste novo perfil.
Dessa forma, sempre que quiser qualquer recurso da universidade, basta abrir esse perfil alternativo do Firefox.
fonte