Estou usando
ssh [email protected] -g -L 4321:localhost:28017
para estabelecer um túnel do meu MacBook para o meu servidor dedicado no meu provedor de hospedagem. Isso funciona bem. Agora eu quero acessar vários sites de administração no servidor remoto (uma página de status do MongoDB, uma página do RabbitMQ etc., todas em portas diferentes). Todos eles estão vinculados a 127.0.0.1 na máquina remota. Como posso ajustar este comando ssh para
- atribua um nome ao túnel e use, por exemplo, "my.tunnel.name" no meu navegador
- ser capaz de definir a porta remota no meu navegador; Gostaria de me conectar ao my.tunnel.name:port, para poder chamar os diferentes sites
Isso é possível com o ssh? Eu li as páginas de manual e pesquisei por dois dias agora, mas parece que não funciona.
--edit 2012-06-01 23: 36-- Graças às respostas e comentários fornecidos, o encaminhamento de porta funciona agora usando
ssh [email protected] -D 4321
Posso configurá-lo como proxy no meu navegador e o navegador tratará qualquer solicitação para localhost: anyport como se tivesse sido feita no servidor remoto. Agora, não é necessário usar um nome, pois o navegador é apenas para sites de servidores remotos.
Você pode atribuir um nome usando o fato de que seu adaptador de loopback responderá basicamente a qualquer endereço na rede 127.0.0.0/8.
Portanto, em vez de vincular a porta 4321, você pode vincular a 127.1.2.3:4321. Em seguida, basta configurar uma entrada de host que mapeie um nome para o endereço de loopback que você usou para que foo.bar mapeie
127.1.2.3
.Na minha configuração SSH na minha estação de trabalho administrativa, tenho muitos túneis configurados para que eles se liguem a algum endereço no intervalo de loopback, e tenho entradas no meu arquivo host, por isso abro muitos túneis em paralelo usando a mesma porta e distinguo entre eles via nome.
Então, se você se conectar assim
E o seu arquivo hosts tem uma linha como esta.
Então você deve conseguir se conectar ao my.tunnel.name:4321 na sua máquina local.
Se você tiver espaço de endereço IP adicional na rede ao qual o cliente ssh está conectado, você poderá atribuir um endereço secundário à sua interface Ethernet e usar um dos seus IPs reais e, em seguida, configurar entradas no DNS se desejar que outros sistemas possam para usar seu túnel SSH.
A opção -L
-L [bind_address:]port:host:hostport
permitirá que você use qualquer endereço IP válido no sistema local ao qual se conectar. Você também precisa incluir a-g
opção se quiser que outros hosts possam se conectar através do seu túnel ssh.fonte
ifconfig l0 alias 127.0.1.1 255.255.255.0
caso contrário, ótima dica!-N
no final do comando. Dessa forma, é mais fácil lembrar que é um túnel, não apenas qualquer conexão SSH.127.1.2.3
, tive que fazer isso no meu macbook:,ifconfig lo0 alias 127.1.2.3 255.255.255.0
que adiciona127.1.2.3
como um novo endereço na interfacelo0
.Crie um encaminhamento de porta dinâmico no nível do aplicativo (proxy de meias basicamente) com seu túnel SSH e aponte seus aplicativos para esse. Para criar um túnel dinâmico, conecte-se da seguinte maneira:
Em seguida, configure seu aplicativo para usá-lo como um proxy SOCKSv5.
Se você deseja um nome de host vinculado a isso, basta adicionar
/etc/hosts
entradas que aponte para 127.0.0.1, mas uma maneira mais bonita seria adicionar 127.0.0.2 para o primeiro túnel e uma entrada de hosts para esse, 127.0.0.3 para o segundo túnel e uma entrada de host separada para esta, etc. Se você adicionar aliases para 127.0.0.1, algumas vezes esse alias aparecerá em outras pesquisas de comandos do localhost, o que pode ser confuso!Para usá-lo sem problemas em um navegador da web, você pode usar um complemento de proxy, como exemplo, sou a favor do navegador da web Chrome e, para este, utilizo um complemento chamado
Proxy Switchy!
. Você pode fazer o download aqui:https://chrome.google.com/webstore/detail/caehdcpeofiiigpdhbabniblemipncjj
Na configuração desse complemento, eu posso definir vários proxies separados e vincular expressões regulares de hosts / URLs para usar certos proxies, dessa forma eu sempre serei redirecionado corretamente pelos túneis certos, sem precisar alternar manualmente. Entre em contato se precisar de mais esclarecimentos sobre alguma das etapas!
fonte