Eu tenho uma entrada em ~ / .ssh / config no meu computador em casa que se parece com isso:
host foo bar
ProxyCommand ssh -x -a -q gateway.example.com nc %h 22
onde gateway.example.com
existe um servidor no trabalho conectado à Internet pública e a uma rede interna. A caixa de gateway resolve foo e bar usando entradas em / etc / hosts.
Meu problema é que preciso alcançar uma caixa do outro lado foo
. Vamos chamá-lo de "baz". O host "baz" está em outra rede privada à qual o foo está conectado, mas não aquele ao qual o "gateway" está conectado.
Eu tentei usar isso:
host baz
ProxyCommand ssh -x -a -q gateway/example.com ssh foo nc %h 22
Mas isso não funciona, e estou um pouco fora da minha profundidade. Como eu faço isso?
Acho que não deveria importar, mas estou fazendo isso no Ubuntu 10.
-W
trabalhar. Ele se baseia no código de encaminhamento de porta no lado do servidor, que é muito mais antigo.Usando chaves privadas armazenadas no seu computador local, insira este comando com os caminhos de chave privados, nomes de usuário do shell e nomes de host / endereços IP alterados para suas necessidades de local-> gateway-> destino ssh.
Observe que o ProxyCommand é preferível ao Agent Forwarding para reduzir o risco de comprometer a autenticação de chave privada (usando o gateway e a conexão local do agente ssh para comprometer hosts adicionais como se o seqüestrador tivesse a chave privada) quando um gateway / jumperbox é invadido por root.
Comando único para proxy SSH em um servidor (mantenha as duas chaves privadas no computador local):
fonte
É isso que faço para sair da rede protegida para a Internet.
Estou usando meu laptop para trabalhar com código na compilação . Como a compilação é restrita ao acesso à Internet, para clonar um repositório do github.com, primeiro preciso entrar na caixa de ferramentas , que também não tem acesso à Internet. Mas ele pode acessar o gw , que tem Internet.
Como isso:
Meu
.ssh/config
na construção :Explicação.
git clone [email protected]:aRepo/There
apenas funciona!Claro?
fonte