Hoppa till innehåll

SSH-felsökning

Den här guiden tar upp vanliga SSH-anslutningsproblem när du arbetar med GitLab på LNU.

Testa din SSH-anslutning med:

ssh -T git@gitlab.lnu.se

Ett lyckat svar visar: Welcome to Gitlab, @en999zz!

Nätverket “LNU Guest” stödjer inte SSH. Byt till “Eduroam” istället.

Några kommandon som hjälper dig identifiera problem:

  • ssh-add -l — visar aktiva SSH-nycklar
  • ssh-agent — verifierar om agenten körs
  • ls ~/.ssh/ — visar sparade SSH-nycklar
  • ssh-add ~/.ssh/id_ed25519_gitlab_lnu — laddar in en nyckel i agenten

Felet git@gitlab.lnu.se: Permission denied (publickey) beror oftast på en av tre orsaker:

Fel SSH-nyckel

Jämför ditt lokala fingeravtryck (ssh-add -l) med det som är sparat på GitLab under dina kontoinställningar. De måste matcha.

SSH-agenten körs inte

Om ssh-add -l returnerar "Could not open a connection to your authentication agent", starta agenten:

eval $(ssh-agent -s)

Hur du slipper göra om detta varje gång skiljer sig åt mellan operativsystem:

Windows har en inbyggd ssh-agent-tjänst som sparar tillagda nycklar permanent, även efter omstart — men den är avstängd som standard. Git Bash pratar dessutom som standard med sin egen medföljande SSH-klient istället för Windows egen, så git push/git pull skulle ändå aldrig nå den tjänsten om inte Git pekas om. Tre engångssteg löser båda delarna.

Aktivera tjänsten i PowerShell som administratör:

Terminal window
Get-Service ssh-agent | Set-Service -StartupType Automatic
Start-Service ssh-agent

Peka om Git mot Windows egen SSH-klient, så att git push/git pull faktiskt pratar med samma agent:

git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe"

Ladda in nyckeln i Windows-agenten — ange hela sökvägen till ssh-add.exe, annars hittar Git Bash sin egen medföljande variant istället för Windows egen:

/c/Windows/System32/OpenSSH/ssh-add.exe ~/.ssh/id_ed25519_gitlab_lnu

Nyckeln stannar nu kvar i agenten permanent, även efter omstart av datorn — du behöver aldrig köra ssh-add igen, oavsett om du har ett Git Bash-fönster öppet eller inte.

Nyckeln är inte inladdad

Om ssh-add -l visar "The agent has no identities" är agenten igång men saknar din nyckel. Ladda in den manuellt:

ssh-add ~/.ssh/id_ed25519_gitlab_lnu

Vill du hellre slippa vara beroende av agenten alls, redigera ~/.ssh/config och lägg till en IdentityFile-rad under host-posten för gitlab.lnu.se (se Installera Git) — då använder SSH nyckeln direkt utan att en agent behöver ha laddat in den.

CCBY