I en tidligere artikkel skrev jeg litt om nettverket mitt og oppsettet, ved feks å bruke sshfs. Jeg skrev da også at "det er bare sette opp et skript" i oppstarten slik at man slipper å montere per hånd hver gang man logger på/starter maskinen på nytt. Jeg fortalte IKKE hvordan man skulle gjøre det. Tror faktisk ikke det at jeg visste hvordan, men nå vet jeg det. I bunn og grunn så er det to forskjellige måter å gjøre det på:

  1. Via /etc/fstab
  2. Via skripting og ssh-nøkkel

Jeg har valgt å bruke metode 2. Men før man starter med det så er det et par ting som man bør sjekke opp:

  1. Sørg for at den brukeren som skal logge seg på har nødvendige rettigheter til monterings-punktet på "den andre" maskinen.
  2. Sørg for at brukeren har nødvendige rettigheter på den lokale maskinen

Jeg personlig, logger på med min bruker-konto til en bruker-konto på den fjerne maskinen. Dette trenger ikke være samme navn. Ja ja...vi skal bruke metode 2, og da må vi sørge for at man har laget et nøkkel-par. Det står på nettet overallt hvordan man kan gjøre det men jeg skal gå gjennom det steg for steg her. Og jeg går ut ifra at openSSH er installert.
1. Oppretting av ssh nøkkel-par

# ssh-keygen -t rsa -b 1024 -C "$(whoami)@$(hostname)-$(date -I)"
  • -t  forteller hvilken type nøkkel den skal lage. Tror det er greit å bruke v2, og da er det dsa, ecdsa eller rsa som gjelder.
  • -b forteller hvor mange "bits" nøkkelen skal bestå av.
  • -C er en kommentar. Synes denne måten er ganske grei. Den sier hvem, hvor og når den ble laget.

Nøkkelen blir lagret (som standard) i brukerens ".ssh"-katalog( /home/BRUKER/.ssh ), I formen "id_TYPE.pub"(offentlig nøkkel) og "id_TYPE"("hemmelig").
2. Installering av ssh nøkkel

# ssh-copy-id bruker'@'remote.host

 

Denne kommandoen vil da kopiere den offentlige nøkkelen til "bruker" sin ".ssh" katalog. Dvs. den vil føye på nøkkelen inn i fila "autherized_keys". "ssh-copy-id" er egentlig et skript som er blitt installert av openssh, så hvis du ikke har dette installert så er det bare å kopiere den offentlige nøkkelen din til enden av "authorized_keys"-fila på "den andre" maskinen.

3. Sjekk om det fungerer

Prøv å logg in på den aktuelle maskinen vha ssh. Kommer du inn uten å måtte skrive passord så er alt gjort riktig.

# ssh -l BRUKER remote.host

Oppsett av skriptet

Man trenger ikke gjøre noe spesielt med skriptet som skal kjøres. Det eneste som man må sørge for er at man har tilstrekkelig med rettigheter. I en tidligere artikkel KDE og Auto-oppstart skrev jeg litt om hvor jeg liker å sette inn oppstarts-skript. Jeg setter mitt skript inn her. Det eneste man trenger å legge til i skriptet er selve kommandoen for å få sshfs til å starte.

# sshfs bruker'@'remote.host:/filbane/på/remote.host /filbane/på/lokal_maskin

Så enkelt er det. Summa sumarum:

  1. Opprett nøkler
  2. Kopier nøkkel til verts-maskinen
  3. Legg til oppstarts-skript

Hva man ikke skal gjøre

  • Ikke start skriptet med "xterm". Jeg hadde allerede et skript som ble startet med xterm. På denne måten
# xterm -hold -e "/filbane_til_skript"

Og det likte ikke ssh. Det førte til at jeg trodde det var problemer med rettigheter på en eller annen måte. Og det er jo det egentlig. Grunnen til at jeg startet det skriptet med xterm var først og fremst for å se/debugge alt som skjer i skriptet ved oppstart. Det er slivfølgelig ikke nødvendig når ting fungerer men det var dette som førte til at jeg knotet noe veldig. Så da ble linjen ovenpå erstattet med dette:

# cd /filbane/til/skript
# ./skript_navn

Først av alt så visste jeg ikke hva som startet det opprinnelige skriptet. Gått litt i glemmeboka. Ble nødt til å bla opp på disse sidene faktisk, og for det andre så visste jeg ikke at xterm vil ha en slik påvirkning på ssh. SSH returnerte ingen feil. Programmet returnerte 0, så det var litt vanskelig å se hva som var galt. Men men. Det gikk jo bra til slutt.