Sirva a Internet à máquina remota via SSH? [fechadas]

0

Esta pergunta é feita algumas vezes, mas minha configuração é um pouco diferente de outra configuração.

Eu tenho minha máquina em uma rede fechada sem internet e tenho acesso sudo a essa máquina. Mas eu não consigo me conectar diretamente à minha máquina remota do meu laptop. Eu tenho que passar por um servidor de salto do Linux e eu não tenho permissões de root no servidor de salto. Eu só posso ssh para o meu servidor de salto e pode novamente para o ssh para minha máquina remota.

Eu não posso ter nenhum outro porto aberto. Como posso compartilhar minha conexão de internet do meu laptop com a minha máquina remota para que qualquer atualização ou recepção de software possa ocorrer sem problemas.

Atualmente, quando tenho conexão à Internet para acessar o servidor, posso compartilhá-lo com a máquina remota com o comando

ssh -R PORT_WITH_INTERNET:localhost:PORT_WITH_INTERNET [email protected]
    
por raju 23.11.2016 / 08:57

2 respostas

1

Use sshuttle , que:

Transparent proxy server that works as a poor man's VPN. Forwards over ssh. Doesn't require admin. Works with Linux and MacOS. Supports DNS tunneling.

Contanto que sua máquina intermediária tenha o Python instalado, sshuttle se conectará, se transferirá e configurará sua máquina local para encaminhar todo o tráfego (ou tráfego selecionado) pela conexão SSH.

A outra coisa boa é que ele funciona com o TCP e não contra ele, então você obtém o desempenho correto em toda a conexão - os túneis SSH regulares tendem a obter um escalonamento ruim porque não há perda de pacotes.

Você pode usar isso diretamente para fazer o que quiser com:

sudo sshuttle --dns -r user@jump 0/0

Isso conectará o SSH ao usuário @ jump e encaminhará todo o tráfego e todas as solicitações de DNS dessa conexão. Você não precisa fazer nenhuma configuração na máquina remota, e você só precisa de direitos administrativos na sua máquina local (para configurar as regras de filtragem de pacotes).

sshuttle é empacotado para algumas distribuições, mas é muito simples instalá-lo localmente a partir do repositório git com o% Python padrãosetup.py install process. Também é no PyPI se você usar isso.

    
por 23.11.2016 / 09:14
0

Se ssh no jumpstation suportar o argumento '-W', você pode encadear:

No ~/.ssh/config do laptop:

Host 10.144.108.127
    ProxyCommand ssh -q user@jumpstation -W %h:%p

E na linha de comando do laptop:

ssh -R PORT_WITH_INTERNET:localhost:PORT_WITH_INTERNET [email protected]

Você também precisa executar um proxy no seu laptop e definir as configurações de proxy apropriadas na máquina remota.

Mesmo se o ssh jumpstation não suportar o argumento '-W' (o que duvido), isso pode ser evitado chamando netcat no jumpstation ou até mesmo abrindo /dev/tcp/... e um par de cat (se você tem festa lá).

    
por 23.11.2016 / 09:56