SSH omgekeerde dynamische forward: een externe SOCKS-listener maken
Maak een omgekeerde dynamische SOCKS-listener op een SSH-server, waarbij verbindingen naar bestemmingen vanaf de clientzijde worden geopend.
Meestal geeft een SSH SOCKS-tunnel een laptop de netwerkuitgang van de server. Omgekeerde dynamische forwarding keert die opstelling om: een programma op de externe machine kan het netwerk gebruiken dat jouw SSH-client ter beschikking heeft.
Op een OpenSSH-client die externe forwarding zonder bestemming ondersteunt:
ssh -N -R 127.0.0.1:1080 [email protected]
De SOCKS-listener staat op remote.example.net, gebonden aan zijn loopback-adres. Programma's daar gebruiken 127.0.0.1:1080. Verbindingen naar bestemmingen reizen terug via SSH en worden geopend aan de kant waar jouw client draait.
Lees de richting vóór het IP
De documentatie over -R maakt de weggelaten bestemming belangrijk. Een specificatie met port:host:hostport is in plaats daarvan een vaste forward. Ga er niet van uit dat een oude client de kortere dynamische vorm ondersteunt.
Het naar buiten zichtbare IP is wat het netwerk aan jouw clientzijde voor die verbindingen gebruikt. Een laptop achter een thuisrouter kan naar buiten gaan via het vertaalde openbare adres van de router. Dat is niet automatisch het IP van de SSH-server, en ook geen adres dat rechtstreeks aan de laptop is toegewezen.
Houd de externe listener beperkt. Een binding met jokerteken kan andere machines toestaan het netwerk aan jouw clientzijde als uitgang te gebruiken, afhankelijk van het serverbeleid. Zelfs loopback kan beschikbaar zijn voor andere geschikte processen op de externe host; het is geen geheim per proces.
Bekijk voor een beperkte set bestemmingen PermitRemoteOpen en het forwardingsbeleid van de server. De route hangt er ook van af of jouw client online blijft. Wanneer die verbinding sluit, verdwijnt het externe proxypad. Omgekeerde forwarding verandert waar verbindingen ontstaan; het levert geen zelfstandige proxy die onafhankelijk is van de SSH-sessie.