Vps para o laptop ssh tunnel

1

Eu tenho um laptop que uso principalmente como desktop, mas ocasionalmente ele move redes. Eu tenho um vps com um endereço estático e quero encaminhar portas do vps para o laptop para que eu possa chegar ao laptop de um endereço público, mesmo se o laptop estiver atrás de um roteador sem nenhuma configuração de encaminhamento de porta.

Isso é possível executando um comando / script no laptop na inicialização?

Tudo está rodando Linux se isso importa, estou tentando encaminhar o tráfego de minecraft de um vps com endereço público e sem memória para um laptop com muita memória, mas nenhum endereço público que ocasionalmente se mova para redes diferentes. Isso é possível com ssh de alguma forma?

Agradecemos antecipadamente por qualquer assistência.

    
por AvatarOfChronos 07.05.2013 / 17:48

4 respostas

2

A maneira usual é criar uma VPN (por exemplo, com o OpenVPN). Mas você também pode usar o SSH.

ssh -R [bind_address:]port:host:hostport

Você pode automatizar isso usando chaves sem passphrase, mas as conexões SSH interrompidas não são reiniciadas automaticamente. Assim, seria útil fazer a chamada SSH a partir de um loop. No entanto, o OpenVPN seria mais útil.

Editar 1

Se você quiser encaminhar outros endereços remotos do que localhost, não esqueça de colocar ambos

GatewayPorts yes

no arquivo sshd_config para o servidor e reinicie o servidor posteriormente. Você precisa usar um desses formatos do comando ssh e, em seguida:

-R 1.2.3.4:port:host:hostport
-R \*:port:host:hostport # the \  being for the shell only
-R :port:host:hostport

O host é um endereço no lado local (geralmente localhost ou um dos outros endereços IP do host).

    
por 07.05.2013 / 18:04
2

Como Hauke Laging observou corretamente - a conexão ssh pode ser interrompida.

Você deve usar autossh para iniciar e reiniciar automaticamente os túneis em caso de falha.

    
por 09.05.2013 / 22:03
0

No seu arquivo ~/.ssh/config , você pode definir uma porta como esta:

Host alias
HostName 12.34.56.78
  [Port 12345]
  [User patrick]
  [LocalForward 6900 localhost:6900]
    
por 07.05.2013 / 18:05
0

Talvez use dyndns no laptop?
Ou você poderia adicionar um pequeno script da Web ao VPS (o script atualizaria o firewall) e o laptop poderia solicitar essa página com wget / curl ao inicializar.
O script pode ser bash / shell script e executar via ssh, mas pode ser mais complicado encontrar o IP de conexão de um shell script (por exemplo, $ _SERVER ['REMOTE_ADDR'])

    
por 07.05.2013 / 18:05