port forwarding gebruiken in SSH

het SSH-protocol heeft de mogelijkheid om willekeurige netwerkverbindingen (TCP) door te sturen over uw versleutelde SSH-verbinding, om te voorkomen dat het netwerkverkeer in clear wordt verzonden. U kunt dit bijvoorbeeld gebruiken om vanaf uw thuiscomputer verbinding te maken met een POP-3-server op een externe machine zonder dat uw POP-3-wachtwoord zichtbaar is voor netwerksniffers.

om port forwarding te gebruiken om vanaf uw lokale machine verbinding te maken met een poort op een externe server, moet u:

  • Kies een poortnummer op uw lokale machine waar PuTTY moet luisteren naar binnenkomende verbindingen. Er zijn waarschijnlijk veel ongebruikte poortnummers boven 3000. (U kunt hier ook een lokaal loopback adres gebruiken; zie hieronder voor meer details.)
  • ga nu, voordat u uw SSH verbinding start, naar het Tunnelpaneel (zie paragraaf 4.26). Zorg ervoor dat het keuzerondje’ lokaal ‘ is ingesteld. Voer het lokale poortnummer in in het vak ‘bronpoort’. Voer de bestemmingshostnaam en het poortnummer in in het vak ‘bestemming’, gescheiden door een dubbele punt (bijvoorbeeld popserver.example.com:110 om verbinding te maken met een POP-3-server).
  • klik nu op de knop ‘Toevoegen’. De details van uw port forwarding moeten verschijnen in de keuzelijst.

start nu uw sessie en log in. (Port forwarding wordt pas ingeschakeld nadat u bent ingelogd; anders zou het gemakkelijk zijn om volledig anonieme netwerkaanvallen uit te voeren en toegang te krijgen tot iemands virtuele privé-netwerk.) Om te controleren of PuTTY de port forwarding correct heeft ingesteld, kun je kijken in het PuTTY Event Log (zie paragraaf 3.1.3.1). Het zou zoiets als dit moeten zeggen.:

2001-12-05 17:22:10 Local port 3110 forwarding to popserver.example.com:110

Als u nu verbinding maakt met het bronpoortnummer op uw lokale PC, moet u merken dat het u precies beantwoordt alsof het de service is die op de bestemmingsmachine draait. In dit voorbeeld kunt u een e-mailclient configureren om localhost:3110 als POP-3-server te gebruiken in plaats van popserver.example.com:110. (Natuurlijk, de forwarding zal stoppen met gebeuren wanneer uw PuTTY sessie sluit.)

u kunt poorten ook in de andere richting doorsturen: regel dat een bepaald poortnummer op de server teruggestuurd wordt naar uw PC als een verbinding met een service op uw PC of in de buurt. Om dit te doen, selecteert u de ‘Remote’ keuzerondje in plaats van de ‘Local’. Het vakje ‘bronpoort’ geeft nu een poortnummer op de server op (merk op dat de meeste servers je niet toestaan om poortnummers onder 1024 te gebruiken voor dit doel).

een alternatieve manier om lokale verbindingen door te sturen naar externe hosts is het gebruik van dynamic SOCKS proxy. In deze modus fungeert PuTTY als een SOCKS-server, waarmee SOCKS-bewuste programma ‘ s verbinding kunnen maken en doorgestuurde verbindingen kunnen openen naar de bestemming van hun keuze, dus dit kan een alternatief zijn voor lange lijsten van statische doorstuurservers. Om deze modus te gebruiken, moet u de ‘dynamische’ keuzerondje in plaats van ‘lokaal’, en dan moet je niets in het vak ‘bestemming’ (het zal worden genegeerd). PuTTY zal dan luisteren naar SOCKS verbindingen op de poort die u hebt opgegeven. De meeste webbrowsers kunnen geconfigureerd worden om verbinding te maken met deze SOCKS proxy service; ook kunt u andere stopverf verbindingen doorsturen door het opzetten van de Proxy control panel (zie paragraaf 4.15 voor details).

de bronpoort voor een doorgestuurde verbinding accepteert meestal geen verbindingen van een machine behalve de SSH-client of de servermachine zelf (voor respectievelijk lokale en remote forwardings). Er zijn controles in het Tunnelpaneel om dit te veranderen:

  • de optie ‘Local ports accept connections from other hosts’ stelt u in staat om local-to-remote port forwardings (inclusief dynamische port forwardings) zo in te stellen dat andere machines dan uw client PC verbinding kunnen maken met de forwarded port.
  • de optie ‘Remote ports do the same’ doet hetzelfde voor remote-to-local port forwardings (zodat andere machines dan de SSH server machine verbinding kunnen maken met de forwarded poort.) Merk op dat deze functie alleen beschikbaar is in het SSH-2 protocol, en niet alle SSH-2 servers voldoen eraan (in OpenSSH, bijvoorbeeld, is het meestal standaard uitgeschakeld).

u kunt ook een IP-adres opgeven om op te luisteren. Meestal kan een Windows machine worden gevraagd om te luisteren op elk IP-adres in het 127.*.*.* bereik, en dit zijn allemaal loopback-adressen die alleen beschikbaar zijn voor de lokale machine. Dus als je (bijvoorbeeld) 127.0.0.5:79 doorstuurt naar de poort finger van een externe machine, dan zou je commando ‘ s als finger moeten kunnen uitvoeren. Dit kan handig zijn als het programma dat verbinding maakt met de doorgestuurde poort je niet toestaat om het poortnummer te wijzigen dat het gebruikt. Deze functie is beschikbaar voor Local-to-remote forwarded ports; SSH-1 kan het niet ondersteunen voor remote-to-local ports, terwijl SSH-2 het in theorie kan ondersteunen, maar servers zullen niet noodzakelijkerwijs samenwerken.

(Als u Windows XP Service Pack 2 gebruikt, moet u mogelijk een oplossing van Microsoft verkrijgen om adressen als 127.0.0.5 te gebruiken – zie vraag A. 7. 17.)

voor meer opties met betrekking tot Port forwarding, zie paragraaf 4.26.

als de verbinding die u via SSH doorstuurt zelf een tweede SSH-verbinding is die door een andere kopie van PuTTY wordt gemaakt, zou u de configuratie-optie ‘logische hostnaam’ nuttig kunnen vinden om PuTTY te waarschuwen van welke hostsleutel het zou moeten verwachten. Zie paragraaf 4.13.5 voor details hierover.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.