SSH omvänd dynamisk vidarebefordran: skapa en fjärransluten SOCKS-lyssnare
Skapa en omvänd dynamisk SOCKS-lyssnare på en SSH-server, där anslutningar till mål öppnas från klientsidan.
Vanligtvis ger en SSH SOCKS-tunnel en bärbar dator serverns nätverksutgång. Omvänd dynamisk vidarebefordran vänder på den ordningen: ett program på fjärrmaskinen kan använda nätverket som din SSH-klient har tillgång till.
På en OpenSSH-klient som stöder fjärrvidaresbefordran utan mål:
ssh -N -R 127.0.0.1:1080 [email protected]
SOCKS-lyssnaren finns på remote.example.net, bunden till sin loopback-adress. Program där använder 127.0.0.1:1080. Anslutningar till mål färdas tillbaka genom SSH och öppnas från den sida där din klient körs.
Läs riktningen före IP-adressen
Dokumentationen för -R gör det utelämnade målet betydelsefullt. En specifikation med port:host:hostport är i stället en fast vidarebefordran. Anta inte att en gammal klient stöder den kortare dynamiska formen.
Den utgående IP-adressen är den som nätverket på klientsidan använder för dessa anslutningar. En bärbar dator bakom en hemrouter kan gå ut via routerns översatta publika adress. Det är inte automatiskt SSH-serverns IP, och inte heller en adress som tilldelats den bärbara datorn direkt.
Håll fjärrlyssnaren begränsad. En bindning med jokertecken kan låta andra maskiner använda nätverket på klientsidan som utgång, beroende på serverns policy. Till och med loopback kan vara tillgängligt för andra kvalificerade processer på fjärrvärden; det är inte en hemlighet per process.
För en begränsad uppsättning mål, granska PermitRemoteOpen och serverns vidarebefordringspolicy. Rutten beror också på att din klient förblir online. När den anslutningen stängs försvinner fjärrvägen via proxy. Omvänd vidarebefordran ändrar var anslutningar uppstår; den ger ingen fristående proxy oberoende av SSH-sessionen.