Verder Terug Inhoud

2. De basistechniek

Deze techniek gaat af op een basisfeature van ssh: port forwarding

Er zijn veel variaties op dit thema, wat afhangt van je gewenste mailsetup. Voor allen is ssh nodig, wat beschikbaar is vanaf http://www.ssh.fi/ en mirrors. RPM's zijn beschikbaar op ftp://ftp.replay.com/pub/crypto/ en Debian packages zijn beschikbaar op ftp://non-us.debian.org/debian-non-US/ (en respectieve mirrors).

2.1 Opzetten van Port Forwarding

Voer de volgende opdracht uit om port forwarding op te starten:

ssh -C -f popserver -L 11110:popserver:110 sleep 5

Laten we die opdracht eens wat nader bekijken:

ssh

De ssh binary zelf, het magische programma dat het allemaal doet.

-C

Hiermee wordt de compressie van de datastroom geactiveert. Het is optioneel, maar gewoonlijk nuttig, vooral voor dialup gebruikers.

-f

Zodra ssh de authenticatie heeft uitgevoerd, en de port forwarding tot stand heeft gebracht, plaatst het zichzelf in de achtergrond zodat andere programma's kunnen worden uitgevoerd. Aangezien we slechts de port forwarding features van ssh gebruiken, hoeft er geen tty aan te zijn gekoppeld.

popserver

De POP-server waar we een verbinding mee maken.

-L 11110:popserver:110

Forward de lokale poort 11110 naar poort 110 op de remote server popserver. We gebruiken een hoge lokale poort (11110) zodat elke gebruiker forwardings kan aanmaken.

sleep 5

Nadat ssh zichzelf in de achtergrond heeft geplaatst, voert het een opdracht uit. We gebruiken sleep zodat de verbinding lang genoeg blijft onderhouden voor onze mailclient om een verbinding met de server te kunnen maken. 5 seconden is hiervoor gewoonlijk genoeg.

Wanneer van toepassing kun je gebruik maken van de meeste andere opties van ssh. Een gebruikelijke instelling kan een gebruikersnaam zijn, aangezien het een andere gebruikersnaam kan zijn dan die op de POP-server.

Hiervoor moet sshd op de remote server popserver draaien. Je hoeft er echter geen actief shellaccount te hebben. De tijd dit het in beslag neemt de melding ``You cannot telnet here'' is voldoende om een verbinding op te zetten.

2.2 Testen

Zodra je de details van de opdracht hebt uitgezocht om een port forwarding tot stand te brengen, kun je het uitproberen. Bijvoorbeeld:

$ ssh -C -f msingh@popserver -L 11110:popserver:110 sleep 1000

popserver is de oude POP server. Mijn gebruikersnaam op mijn lokale machine is manish dus moet ik expliciet de gebruikersnaam msingh opgeven. (Als de gebruikersnaam op de lokale en remote computer gelijk zijn dan is het deel msingh@ onnodig.

Dan wordt er afgedrukt:

msingh@popserver's password:

En vervolgens typ ik mijn POP-wachtwoord in (je hebt voor je shell en POP misschien verschillende wachtwoorden dus gebruik die van je shell). Nu zijn we klaar! Dus kunnen we proberen:

$ telnet localhost 11110

wat iets zou moeten afdrukken als:

QUALCOMM POP v3.33 ready.

Woohoo! Het werkt! De gegevens worden versleuteld over het netwerk verstuurd, dus de enige gewone tekst gaat over de loopbackinterfaces van mijn lokale box en de POP-server.


Verder Terug Inhoud