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:
- Filplats: Tryck bara Enter för att använda standardplatsen (
~/.ssh/id_ed25519) - 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
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:
- Du får en fråga om serverns fingeravtryck - skriv
yes - Ange användarens lösenord en sista gång
- Din publika nyckel kopieras till servern
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
ssh minserver
Förklaring av konfigurationen:
Host minserver- Namnet du vill använda (välj vad du vill)HostName- Serverns IP-adress eller domännamnUser- Användarnamnet på servernIdentityFile- Sökvägen till din privata nyckel
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:
-a- Arkivläge (bevarar rättigheter, tidsstämplar, etc.)-v- Verbose (visar vad som händer)-P- Visar förlopp och tillåter återupptagning
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:
- Skriv
exitoch tryck Enter - Tryck
Ctrl + D
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/
~/.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:
- Sätta upp automatiska backups med rsync och cron
- Använda SSH-tunnlar för säker åtkomst till tjänster
- Konfigurera SSH-agent för att hantera flera nycklar
- Utforska avancerade SSH-funktioner som port forwarding