home       inleiding       sysadmin       services       links       bash       werk       nothing      

ssh-client

Met ssh (client) (secure shell)kun je via het netwerk een terminal openen op een andere machine. Machines met een command-line shell kunnen een ssh service draaien. Niet alleen linux/unix servers en desktops, maar ook cisco materiaal en microsoft machines met een ssh-service.
 
Om de eenvoudigste handelingen te verduikelijken, loggen we eerst in op onze eigen desktop, localhost:

  1. localhost
      
    Installeer ssh-server op je machine:
    In ubuntu 14.04/16.04 en LinuxMint17/18 kan dit als volgt:

    $ sudo apt-get install openssh-server

    Volg het installatie process;
    zodra dit is afgerond kan je ssh localhost uitvoeren ....

    voorbeeld:
    fien@lap2012:~$ ssh localhost

    The authenticity of host 'localhost (127.0.0.1)' can't be established.
    ECDSA key fingerprint is 4c:88:13:be:02:91:b4:a6:fe:6b:11:ba:cc:d9:aa:c9.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.

    fien@localhost's password: x-x-x-x

    Welcome to Linux Mint 17.3 Rosa (GNU/Linux 3.19.0-32-generic x86_64)
    Welcome to Linux Mint
    * Documentation:  http://www.linuxmint.com
    212 packages can be updated.
    0 updates are security updates.
    Last login: Thu Apr 21 09:40:36 2014
    fien@lap2012:~$

    Je zit nu via een netwerkverbinding op je eigen machine te werken; met exit zit je terug gewoon in je terminal, en gebruik je terug wat minder energie.
     
    Indien dit niet werkt en je deze melding krijgt:

    ssh: connnect to localhost port 22: Connection Refused

    Moet je de ssh-service op je machine even nakijken, zoniet controlleren of het allemaal goed gegaan is. Vraag de docent om hulp.
     

  2. via ip-address
     
    Vraag een ip-adres aan de docent.
    Bekijk het volgende voorbeeld. (in dit voorbeeld moet gebruiker jan, die nu is ingelogd, ook op een user account hebben op de bestemming. hij gebruikt zijn paswoord zoals dat op de bestemming is):

    jan@lx801:~$ ssh 172.16.22.3
    jan@172.16.22.3's password: ********

    De volgende drie regels worden slechts bij de allereerste ssh-login gevraagd:

    The authenticity of host (172.16.22.3) can't be established.
    RSA key fingerprint is 79:e4:46:a9:4c:80:ae:1c:80:bf:a2:53:16:97:95:04.
    Are you sure you want to continue connecting (yes/no)?  yes

    We krijgen na het bevestigen met 'yes' onze login op de server te zien:

    Linux pc2203 2.6.18-5-686 #1 SMP Fri Jun 1 00:47:00 UTC 2007 i686
    The programs included with the Debian GNU/Linux system are free software;
    the exact distribution terms for each program are described in the
    individual files in /usr/share/doc/*/copyright.
    Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
    permitted by applicable law.
    You have new mail.
    Last login: Mon Mar 3 14:38:56 2008 from 172.16.31.101
    jan@pc2203:~$ 

    Let op de prompt: we werken nu op een andere computer (pc2203).
    In praktijk wordt het meeste linux sysadmin werk op deze manier uitgevoerd.
    Na exit keren we terug naar onze eigen machine (lx801):

    jan@lx801:~$

     

  3. fully qualified domainname
     
    In plaats van met een ip-address, kun je ssh ook met een fully qualified domainname (FQDN) gebruiken. Bijvoorbeeld met test.linux800.eu:
    mie@lx801:~$ ssh test.linux800.eu
    Password: ********
    Last login: Thu Feb 28 18:48:31 2008 from dd5768d29.access.telenet.be
    i am your test server
    mie@AnnaDomino4:~> ls
    bin
    dhcpd.conf.tech.8226
    public_html
    cursussen
    dns_config
    squid.conf.tech.8226
    SuSEfirewall2.tech.8226
    mie@AnnaDomino4:~> exit
     
    mie@lx801:~$

     

  4. inloggen als iemand anders
     
    Je kan inloggen als een andere gebruiker op de andere computer als volgt:
     
    $ ssh root@172.16.22.3
     
    maar dit mag ook:
     
    $ ssh 172.16.22.3 -l root
     
  5. secure copy
     
    Als de service sshd op een remote computer draait kan je ook gebruik maken van het commando scp (secure copy)
     
    enkele voorbeelden:
     
    jan@pc2203:$
    scp lokaalbestand piet@test.linux800.eu:/home/piet/
     
    ... kopiëert een file met als naam lokaalbestand in de huidige directory van mijn lokale computer pc2203 naar de directory /home/piet van de computer test.linux800.eu, en dit als user piet. We moeten piet's paswoord ingetikken. Ook in het volgende voorbeeld:
    ludo@lx801:~/cursus_services $  scp * piet@test.linux800.eu:/home/piet/services
    Password: ********
    004_debian_netinstall.odt 100% 20KB 19.6KB/s 00:00
    005_debian_DVD-install.odt 100% 17KB 17.2KB/s 00:00 010_netwerkconfiguratie_linux.odt 100% 12KB 12.2KB/s 00:00 125_iptables_h16_.odt 100% 42KB 41.9KB/s 00:00
    135_vpn_h16_.odt 100% 31KB 30.6KB/s 00:00 201_shell_script_absolute_beginner.odt 100% 12KB 12.4KB/s 00:00
    ludo@lx801:~/cursus_services $

    We kopiëerden alle bestanden uit de huidige directory ~/cursus_services van computer lx801 naar de directory /home/piet/services van de computer test.linux800.eu
     
    Nog een derde voorbeeld:

    ludo@lx801:~$ scp piet@test.linux800.eu:/home/piet/services/024* .
    Password: ********
    024_sshclient.debian.odt 100% 23KB 23.3KB/s 00:01
    ludo@lx801:~$

    We kopiëerden als user piet op computer test.linux800.eu vanuit de remote directory /home/piet/services alle bestanden die beginnen met "024" naar mijn huidige . directory. Als we naar de prompt kijken zien we de tilde:~ , en die is de home directory van user ludo op machine lx801.
     

  6. grafische toepassingen op afstand
     
    Als sshd op een remote computer draait kan je ook grafische toepassingen van die remote computer laten draaien op je lokale machine. Dit werkt een beetje als remote desktop maar alles loopt via het SSH-protocol. Je haalt ook niet de volledige desktop naar je toe, maar slechts EEn toepassing. Bovendien werk je over een veilige verbinding (over ssh).
     
    Hier volgt een voorbeeld:
    claire@lx801:~$ ssh -X -f joeri@172.16.22.3 "thunderbird"
    joeri@172.16.22.3's password: ********
    claire@lx801:~$