SSH-guide för nybörjare

Säker SSH-anslutning och filöverföring

SSH (Secure Shell) är det säkraste sättet att fjärrstyra servrar och överföra filer. Den här guiden visar dig hur du sätter upp SSH med moderna säkerhetsmetoder, skapar bekväma alias och överför filer effektivt.

Steg 1: Skapa en säker SSH-nyckel

Istället för att använda lösenord varje gång, skapar vi ett nyckelpar som är både säkrare och bekvämare. Vi använder Ed25519 som är modernare, säkrare och snabbare än den äldre RSA-standarden.

Öppna din terminal och kör:

ssh-keygen -t ed25519

Du kommer att få några frågor:

  1. Filplats: Tryck bara Enter för att använda standardplatsen (~/.ssh/id_ed25519)
  2. Lösenfras (passphrase): Du kan välja att:
    • Ange en lösenfras för extra säkerhet (rekommenderas för viktiga servrar)
    • Lämna tomt för snabbåtkomst utan lösenord
🔐 Säkerhetstips: En lösenfras ger ett extra lager av säkerhet. Om någon får tag på din privata nyckel kan de inte använda den utan lösenfransen. För hemmaservrar kan du skippa den för bekvämlighet.

Steg 2: Kopiera över nyckeln till servern

Nu ska vi installera din publika nyckel på servern så att du kan logga in utan lösenord:

ssh-copy-id användare@server-ip

Exempel:

ssh-copy-id user@192.168.1.50

Vad händer nu:

  1. Du får en fråga om serverns fingeravtryck - skriv yes
  2. Ange användarens lösenord en sista gång
  3. Din publika nyckel kopieras till servern
✅ Klart! Nästa gång du ansluter behöver du inte ange lösenord (såvida du inte satte en lösenfras på nyckeln).

Steg 3: Förenkla med SSH-alias (~/.ssh/config)

Istället för att skriva ssh användare@192.168.1.50 varje gång kan vi skapa ett kort alias som minserver.

Skapa eller öppna SSH-konfigurationsfilen:

nano ~/.ssh/config

Lägg till en profil för din server:

Host minserver
    HostName 192.168.1.50
    User user
    IdentityFile ~/.ssh/id_ed25519

Spara filen (Ctrl + O, Enter, Ctrl + X i nano).

Sätt rätt säkerhetsrättigheter på filen:

chmod 600 ~/.ssh/config
🚀 Nu är det enkelt! Anslut till servern med bara: ssh minserver

Förklaring av konfigurationen:

Steg 4: Överföra filer snabbt via SSH

Nu när SSH är uppsatt kan vi enkelt överföra filer mellan din dator och servern.

Ladda ner fil från servern (scp)

scp minserver:/sökväg/till/fil.zip ~/Downloads/

Exempel - ladda ner en backup:

scp minserver:/home/user/backup.tar.gz ~/Downloads/

Ladda upp fil till servern

scp minfil.zip minserver:/sökväg/på/servern/

Exempel - ladda upp en konfigurationsfil:

scp config.json minserver:/home/user/projekt/

Synka en hel mapp med rsync

För att synkronisera hela mappar med förloppsindikator använder vi rsync:

rsync -avP /lokal/mapp/ minserver:/server/mapp/

Förklaring av flaggorna:

💡 Pro-tips: rsync är smartare än scp - den överför bara filer som har ändrats, vilket sparar tid och bandbredd!

Steg 5: Felsökning & Vanliga tips

Problem: "Host key verification failed"

Detta händer när serverns fingeravtryck har ändrats (t.ex. efter ominstallation). Du har två alternativ:

Alternativ 1: Ta bort den gamla nyckeln från known_hosts:

ssh-keygen -R server-ip

Alternativ 2: Tvinga acceptans av ny nyckel:

ssh -o StrictHostKeyChecking=accept-new användare@ip

Stäng SSH-anslutningen

Det finns två sätt att avsluta en SSH-session:

Testa anslutningen

För att se detaljerad information om anslutningen:

ssh -v minserver

För ännu mer information (användbart vid felsökning):

ssh -vvv minserver

Kopiera filer mellan två servrar

Du kan kopiera direkt mellan två servrar utan att gå via din dator:

scp server1:/fil.txt server2:/destination/
🔒 Säkerhetstips: Skydda alltid din privata nyckel! Den ligger i ~/.ssh/id_ed25519 och ska ALDRIG delas med någon eller laddas upp någonstans.

Sammanfattning av kommandon

Här är en snabb referens till de viktigaste kommandona:

# Skapa SSH-nyckel
ssh-keygen -t ed25519

# Kopiera nyckel till server
ssh-copy-id användare@server-ip

# Anslut till server
ssh minserver

# Ladda ner fil
scp minserver:/fil.txt ~/Downloads/

# Ladda upp fil
scp fil.txt minserver:/destination/

# Synka mapp
rsync -avP /lokal/ minserver:/server/

# Avsluta anslutning
exit
# eller Ctrl + D

Nästa steg

Nu när du behärskar SSH kan du:

← Tillbaka till guider