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
:
-
localhost
Installeer ssh-server op je machine:
In ubuntu 22.04/24.04 en latere versies, en/of in LinuxMint kan dit als volgt:$ sudo apt update
$ sudo apt install openssh-server
Volg het installatie process;
zodra dit is afgerond kan jessh 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.
-
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.
Naexit
keren we terug naar onze eigen machine (lx801):jan@lx801:~$
- fully qualified domainname
In plaats van met een ip-address, kun jessh
ook met een fully qualified domainname (FQDN) gebruiken. Bijvoorbeeld mettest.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:~$
- inloggen als iemand anders
Je kan inloggen als een andere gebruiker op de andere computer als volgt:
$ ssh
jos
@172.16.22.3
maar dit mag ook:
$ ssh 172.16.22.3
-l jos
- secure copy
Als de service sshd op een remote computer draait kan je ook gebruik maken van het commandoscp
(secure copy)
enkele voorbeelden:
jan@pc2203:$
scp lokaalbestand piet@test.linux800.eu:/home/piet/
... kopiëert een file met als naamlokaalbestand
in de huidige directory van mijn lokale computer pc2203 naar de directory/home/piet
van de computertest.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 machinelx801
.
- grafische toepassingen op afstand
Alssshd
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:~$