Fjerninnlogging
SSH
Hva er SSH
SSH er både en protokoll for fjerninnlogging. Du kan bruke SSH hvis du vil logge inn på en Linux-maskin ved UiO hjemmefra eller hvis du vil kopiere filer fra hjemmeområdet ditt ved UiO til hjemmemaskinen eller omvendt (Scp). Det finnes klienter for de aller fleste operativsystemer. Du kan også bruke SSH mellom Linux-maskiner på UiO.
Kommandoene nedenfor kan også brukes fra en Linux-maskin utenfor UiO,
da kobler du til login.ifi.uio.no.
Enkel bruk av ssh
For å starte ssh på Unix-maskinene bruker du terminalvinduet, og skriver rett og slett ssh <maskinnavn>, f.eks (det du skal skrive står med uthevet skrift):
erikbra@gadriel ~ $ ssh aristoteles
erikbra@aristoteles's password: **********
Last login: Wed Jan 24 10:54:21 2001 from gadriel.uio.no
Sun Microsystems Inc. SunOS 5.8 Generic February 2000
Sun Microsystems Inc. SunOS 5.8 Generic February 2000
You have mail
erikbra@aristoteles ~ $
Vips, så befinner du deg på en annen maskin. På denne maskinen kan du gjøre akkurat det du kunne gjøre om du satt rett foran den. Vær litt forsiktig med å starte store programmer, ihvertfall fra andre linux-bokser, da dette går veldig tregt, både for deg og for den som eventuelt sitter på den maskina du har logget deg inn på.
OBS! Fjerninnlogging til linux-maskinene på termstuene er ikke tillatt, bruk istedenfor login.ifi.uio.no.
Scp
På Unix bruker du scp akkurat som en vanlig cp-kommando, bare at du angir navnet på den andre maskina med kolon bak før katalogen du skal kopiere fra, og kommandoen tar de fleste argumentene som cp. Skriv man scp for mer info.
erikbra@sikiel ~ $ scp login.ifi:www_docs/index.php3 .
warning: Executing scp1 compatibility.
index.php3 | 1 KB | 1.9 kB/s | ETA: 00:00:00 | 100%
erikbra@sikiel ~ $
Avansert bruk av ssh
Når man har brukt ssh noen ganger, blir man ufattelig lei av å taste inn passordet hver gang man skal koble seg på en annen maskin. På unix-varianten av ssh finnes det et verktøy som hjelper deg slik at du slipper det. Det heter ssh-keygen, og finnes kun på maskiner som driftes av ifi. Derfor må du logge deg inn på login.ifi.uio.no og kjøre programmet derfra eller bruke en av linux-maskinene på termstuene.
Som standard blir du bedt om å skrive inn passordet hver gang du bruker ssh til en annen maskin. For å unngå dette kan man lage et nøkkelpar (en privat og en offentlig nøkkel), som brukes til å identifisere deg istedenfor passordet.
ingarv@mursten ~ $ /usr/bin/ssh-keygen -t dsa
Trykk enter tre ganger:
Generating public/private dsa key pair. Enter file in which to save the key (/ifi/fenris/h10/ingarv/.ssh/id_dsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /ifi/fenris/h10/ingarv/.ssh/id_dsa. Your public key has been saved in /ifi/fenris/h10/ingarv/.ssh/id_dsa.pub.
Du skal altså bare godta standardverdiene, og ikke oppgi noe passord for passphrase; noe av poenget med å slippe å oppgi passordet forsvinner når du må oppgi et passord for å slippe å oppgi passordet.
Det neste du må gjøre er å kopier din offentlige nøkkel til filen ~/.ssh/authorized_keys.
ingarv@musten ~ $ cat .ssh/id_dsa.pub > .ssh/authorized_keys
Husk at for at dette skal fungere må filrettighetene til ~/.ssh/id_dsa som inneholder din private nøkkel være satt så ingen andre enn deg har adgang til filen.
Nå skulle du være klar til å logge på en annen maskin uten å skrive inn passordet. Første gang du logger inn på en ny maskin, må du svare yes på at du vil logge på den:
ingarv@mursten ~ $ ssh login.ifi.uio.no The authenticity of host 'login.ifi.uio.no (129.240.65.193)' can't be established. RSA key fingerprint is 76:94:8c:87:73:32:6e:73:9d:bf:bf:8f:74:6a:01:db. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'login.ifi.uio.no' (RSA) to the list of known hosts. Last login: Mon May 14 15:17:29 2007 from ...
Det skulle være det hele. Når du neste gang skal logge på en maskin, slipper du å oppgi passord, og livet er herlig:
ingarv@mursten ~ $ ssh login.ifi.uio.no Last login: Mon May 14 18:03:13 2007 from mursten.ifi.uio.no ingarv@kaksi ~ $