SSH over internet: Aan welke poort aankloppen?
Als je gewend bent geraakt aan het gebruik van ssh om van de ene computer in te loggen op de andere binnen je eigen netwerk, zal je dat soms ook willen doen over het internet.
Eens je weet welk ip-adres de computer die je wil bereiken heeft is dat geen probleem:
ssh login@ip.address.tld
Als de computer geen vast ip adres heeft moet je ervoor zorgen dat je dat adres kan achterhalen (*).
Maar als de computer achter een NAT-apparaat (**) zit, wordt het moeilijker: de computer heeft immers alleen maar een “intern” ip-adres, bv in de reeks 192.168.1.*. Toch kan je binnengeraken; het NAT-apparaat ontvangt immers alle verzoeken om in te loggen. Als het een Linux computer is kan je erop inloggen; de computer moet de ssh aanvraag enkel aanvaarden (firewall instelling).
Als het een apart aparaat is moet je het apparaat zo instellen dat het alle verzoeken om in te loggen met “ssh” doorgeeft aan de computer die daarvoor geschikt is. Dat doe je door in de gateway of firewall of router (soms via een web-interface) in te stellen dat al die verzoeken moeten doorgestuurd worden naar bv IP-adres 192.168.1.123 (het adres van de computer waarop je wil inloggen).
Aan welke poort aankloppen?
Standaard wordt een ssh verbinding op het interne netwerk aangevraagd via poort 22. Maar om op internet een ssh verbinding te leggen wordt dikwijls een ander poortnummer gebruikt, zowel om het moeilijker te maken de ingang te vinden al “gokkend” (security by obscurity?), als om het mogelijk te maken om verschillende poortnummers naar verschillende systemen te leiden of om afgeblokte poorten in een firewall te ontwijken. In het eenvoudigste geval komt het erop aan om het luisteren naar die poort (wat meestal in te stellen is op het NAT apparaat) af te stemmen op de poort bij het inloggen. Stel dat de NAT is ingesteld te luisteren op poort 8022 of 9022, dan moet je bij het inloggen aangeven dat op dat poortnummer moet “aangeklopt” worden door de parameter en de waarde van de poort op te geven:
ssh -p 9022 gebruiker@bestemmings.ip.tld
Normaal word je dan begroet in de aard van:
Last login: Wed Jul 12 22:27:49 2006 from console
**
NAT= Network Address Translation. Een NAT-apparaat heeft de internetverbinding met het bijhorende internet IP adres. Het kent aan de andere kant IP-adressen toe aan apparaten op een intern netwerk, en stuurt hun vragen naar internet door; en geeft de antwoorden vanuit internet ook terug. Dat gebeurt op een “transparante” manier, zodat de gebruiker op de computer van het intern netwerk er niets van merkt. Hij moet alleen een door de NAT gekend IP adres hebben; meestal deelt de NAT die ook uit met een DHCP systeem. Een firewall kan nog de toegang tot internet regelen en eventueel de toegang belemmeren.
Voorbeeld van NAT-apparaten:
– een computer die de internetmodem heeft aangesloten en dus optreedt als “gateway” via een netwerkkaart; eventueel is er een switch op aangesloten om meer computers te kunnen bedienen.
– een router die de internetaansluiting heeft en uitgangen voor verschillende computers heeft. Dat apparaat onhoudt ook het password voor de internetverbinding zodat je op je pc niet moet “inloggen” bij de provider om op internet te geraken.
Meer uitleg in het Nederlands o.a. http://www.diskidee.nl/hardware/cursussen/index.htms/270 of Google…