Top of this page
Skip navigation, go straight to the content

Waarom en hoe SSH te gebruiken?

Unix commando's zoals telnet, ftp, rlogin, enz. sturen usercodes en wachtwoorden als gewone tekst over het netwerk.  Met software zoals snoop cracker is het mogelijk ze te stelen.  Deze situatie is zeer onveilig en moet worden vermeden.  Een manier om dit te doen is het gebruik van een Secure Shell (SSH).  Alle tekst die wordt verzonden over het netwerk wordt gecodeerd op basis van een 1024-bits sleutel.  Werken met ssh maakt leven een beetje meer ingewikkeld en daarom is er deze informatie.  Voor een meer grondige uitleg van de gevaren, zie de links in de “zie ook” sectie.

Een van de echtheidskenmerken van SSH is dat de externe host zichzelf identificeert met een sleutel.  Op Unix systemen is deze sleutel toegevoegd aan het bestand ~/.ssh / known_hosts, de eerste keer dat u zich aanmeldt bij de remotehost.  In Windows wordt u gevraagd om de sleutel op te slaan.  Telkens wanneer een client verbinding maakt, reageert de daemon met haar publieke host en server sleutels.  De client vergelijkt de RSA-sleutel met die in haar eigen database om te controleren of deze niet is veranderd.  Als de sleutels niet overeenkomen, kunt u zich niet aanmelden bij het systeem, omdat het mogelijk is dat een indringer u een andere host presenteert om uw wachtwoord te onderscheppen.  Het is ook mogelijk dat de sleutel van de host is gewijzigd (bijvoorbeeld door middel van een nieuwe installatie van het besturingssysteem).  In dat geval moet u de sleutel verwijderen.  Op een Unix systeem dat kan worden gedaan door het bewerken van het bestand ~/.ssh /known_hosts; op Windows kunt u de sleutel verwijderen via de knoppen in het menu Edit -> Settings -> Host keys.
 De client genereert vervolgens een 256 bit random nummer.  Het programma codeert dit willekeurig getal met behulp van de host-sleutel, en stuurt het resultaat versleuteld naar de server.  Beide partijen maken vervolgens gebruik van dit willekeurig getal als een sessie sleutel die wordt gebruikt voor het coderen van alle verdere communicatie in de sessie.  De rest van de sessie wordt versleuteld met een conventionele codering, tegenwoordig Blowfish of 3DES, met 3DES als default.  De klant kiest het te gebruiken encryptie-algoritme uit degenen die worden aangeboden door de server.


De volgende komen aan bod in dit document:

  • Installatie SSH op een Unix machine
  • Gebruik SSH op een Unix/Linux client
  • Installatie SSH-client op MS-Windows
  • Gebruik SSH-client op MS-Windows

Installatie SSH op een Unix-machine

De secure shell is gebaseerd op de client-server technologie.  Om in te loggen op een Unix systeem moet op het systeem een server (sshd) draaien en heeft het client systeem een bijbehorende client (SSH) nodig. 
De SSH-client stuurt versleutelde gegevens via een speciale poort die door de server sshd wordt ontsleuteld.  Het is dus belangrijk om het pakket OpenSSH op je Unix-systemen te installeren.
Voor het gemak hebben wij de openssh-software voor diverse populaire platforms beschikbaar op onze ftp-server.
Het README bestand op deze ftp-server legt het installeren van de software uit.

Gebruik SSH op een Unix/Linux client

Met behulp van een secure shell werken op een externe UNIX-host is zeer eenvoudig als de SSH client en server software is geïnstalleerd. Als uw userid op de host op afstand dezelfde is als op uw client voert u de volgende opdracht uit:

ssh remotehost

Als de userids niet gelijk zijn moet u de naam van remote userid op de opdrachtregel meegeven

ssh uwnaam @ remotehost

De SSH-server op de externe host zal u vragen naar een identificatie, bijvoorbeeld uw wachtwoord.  Als dit lukt bent u aangesloten op dezelfde manier als met telnet of rlogin, maar via een beveiligde netwerk poort.  Als u weer in wilt loggen op andere host moet u opnieuw gebruik maken van ssh!

U kunt ook hosts vooraf invoeren in het bestand ~ /.ssh /config.  Dit is makkelijk als u verbinding wilt maken met een aantal servers met hun userids.  Hier volgt een voorbeeld:

Host webadmin

hostname webadmin.tue.nl

user ictwww

Installatie SSH-client op MS-windows

Hierna wordt uitgelegd hoe u de SSH-client op MS-windows installeert en is afgeleid van de SSH Secure Shell documentatie voor Unix-servers in de Administrator's Guide.

 

  1. Installeer en configureer eXceed.
    Configureer de eXceed server op de pc als passive: xconfig -> Communication -> Mode: passive.
  2. Installeer en configureer de SSH Secure Shell (SSHSecureShellClient-3.2.0.exe) voor windows.
    Start het programma en controleer of Forward X11-connections aan staat.
  3. Start eXceed.
    Als u eXceed start wordt uw pc een X-server.  Log niet in op de server via eXceed. Om een beveiligde tunnel voor uw X-applicaties te verkrijgen dient u in te loggen via de SSH-client voor Windows!
  4. Start van de SSH Secure Shell en maak verbinding met de remote host.
    Als u nu xterm of xclock kunt draaien via de SSH-client, zonder dat de DISPLAY omgevingsvariabele hoeft te worden gezet, werkt SSH goed.

Uw DISPLAY variabele krijgt een andere waarde dan u gewend bent.  Bijvoorbeeld voor onze externe UNIX-host nemo krijg ik “nemo.icts.tue.nl:10.0” terwijl mijn X-server op de computer een IP-adres heeft van kcnnnnn.icts.tue.nl. Als u de DISPLAY variabele zet, voordat u de verbinding met de SSH-client opzet, omzeilt u de beveiligde X11 tunnel.

Gebruik SSH-client op MS-windows

De SSH Secure Shell Client uit www.ssh.com kan worden gebruikt als een stand-alone pakket op een Windows PC om telnet, ftp en rlogin sessies te beschermen vanuit remote Unix-machines.  Dit werkt prima, zolang je geen behoefte hebt aan grafische toepassingen.  Anders dien je expliciet de  'Tunnel X11-connections' te controleren in de SSH profiel van de Unix-computer om er zeker van te zijn dat deze X-applications werken via een versleutelde tunnel-poort. 

SSH voorziet in profielen om te werken met verschillende Unix-hosts. U kunt een nieuw profiel toevoegen, geef het een naam en bewerk de eigenschappen.  Deze profielen kunnen worden geopend via File -> Profiles of via de knop Profiles in de menubalk van SSH.  Als je Edit kiest en krijg je een venster met meerdere tabbladen. Zet de “Tunnel X11-connections” via het tabblad X11-tunneling. 

Zie ook

Securing Unix servers with the secure shell (ssh),

Phil Hurvitz geeft een uitgebreid overzicht van het gevaar van sniffing en beschrijft hoe SSH kan worden gebruikt voor het creëren van een veilige Unix-en Windows-omgeving.

http://gssg-www.stanford.edu/public/teraterm/teraterm.html

Beschrijft hoe de mail en ftp-verbinding van uw pc naar de Unix-server kan worden bewaakt tegen indringers met behulp van Tera Term (ttssh).  Dit pakket is beschikbaar via deze site op de Stanford-universiteit.