Então, estou tentando fazer algo que é relativamente simplesmente em teoria, mas meu caso de uso parece ser difícil de encontrar, já que a maioria proxying que encontro na internet é no que diz respeito à criação de um proxy para o seu navegador através de um túnel SSH.
O que eu gostaria de fazer é configurar uma unidade mapeada no meu Mac que aponte para uma caixa de linux para a qual tenho acesso SSH. Eu encontrei alguns recursos úteis on-line, incluindo este , em que o autor recomenda algo como:
sudo ifconfig lo0 127.0.0.2 alias up
sudo ssh -NL 127.0.0.2:139:localhost:139 \
-NL 127.0.0.2:445:localhost:445 \
user@ssh-host
Pelo que entendi, isso parece bem ... No entanto, minha configuração é apenas um pouco mais complicada. Isso pressupõe que você tenha acesso SSH direto à caixa. Minha situação é tal que eu me conecto à minha máquina através de outra máquina. Então, meu ~ / .ssh / config parece com o seguinte:
Host *.dev
User jmurray
IdentityFile ~/.ssh/my_dev_identity_file
ProxyCommand ssh -A proxy_box nc %h %p
Então, quando eu ssh em jmurray.dev
(a caixa do taget linux), eu serei direcionado através do servidor proxy_box
. Eu devo mencionar que esta configuração de rede está fora do meu controle, então por favor não sugira mudanças na configuração da rede em si.
Assim, a partir do tutorial mencionado acima, o primeiro comando funciona bem (claro), mas o segundo comando de:
sudo ssh -NL 127.0.0.2:139:localhost:139 \
-NL 127.0.0.2:445:localhost:445 \
[email protected]
erros com:
sh: Could not resolve hostname jmurray.dev: nodename nor servname provided, or not known
Então, estou assumindo apenas aqui que ele não está lendo meu arquivo de configuração quando faço essa solicitação. Então, eu decido que vou alimentar minhas configurações através da linha de comando com a versão ligeiramente modificada:
sudo ssh -NL 127.0.0.2:139:localhost:139 \
-NL 127.0.0.2:445:localhost:445 \
[email protected] \
-o 'User jmurray' \
-o 'IdentityFile ~/.ssh/my_dev_identity_file' \
-o 'ProxyCommand ssh -A proxy_box nc %h %p'
mas depois recebo um erro separado de:
Permission denied (publickey,gssapi-with-mic).
ssh_exchange_identification: Connection closed by remote host
Então ... Aqui é onde eu fico preso. Eu sinto que isso deveria ser possível. Se eu puder enviar ssh para a caixa no comando once da minha máquina local, então eu sinto que deve ser possível configurar o meu túnel em um comando da minha máquina local. E como o proxy_box
é uma máquina compartilhada, eu realmente gostaria de ficar longe de qualquer solução que me obrigasse a agir como root nessa caixa.
Agradecemos antecipadamente por qualquer ajuda !! É muito apreciado!