Hvorfor 0644 Tilladelser er Usikre for SSH-nøgler - Løsning og Forklaring

Hvorfor er 0644 (dvs. -rw-r--r--) for åbne tilladelser for en SSH-nøgle, når der ikke er fundet forkerte tilladelser på .ssh-mappen (0700) eller hjemmemappen (0731)? Fejlen opstår ved test af nøgleparafrase via ssh-keygen -y -f my_key.pub.

Præmissen om hvorfor 0644 er for åbne tilladelser for en SSH-nøgle skyldes, at SSH-nøgler kræver strenge tilladelser for at forhindre læsning af andre brugere og sikre, at SSH-klienten accepterer nøglen.

Hvorfor er 0644 for åbne tilladelser for en SSH-nøgle?

Fejlen opstår ved test af nøgleparafrase via ssh-keygen -y -f my_key.pub på grund af følgende årsager:

  • Sikkerhedskrav: SSH-nøgler kræver strenge tilladelser for at sikre, at de ikke kan læses af andre brugere. Tilladelserne 0644 tillader læsning af filen af andre brugere, hvilket kompromitterer sikkerheden.
  • SSH-klientens krav: SSH-klienten kontrollerer filens tilladelser og vil nægte at bruge en nøgle, hvis tilladelserne er for åbne. Dette er en indbygget sikkerhedsfunktion for at forhindre uautoriseret adgang.
  • Korrekte tilladelser: For en privat SSH-nøgle skal tilladelserne være 0600 (dvs. -rw-------), hvilket betyder, at kun ejeren kan læse og skrive til filen. For en offentlig nøgle kan tilladelserne være 0644, da den ikke indeholder følsomme oplysninger.

Selvom .ssh-mappen har korrekte tilladelser (0700) og hjemmemappen har tilladelser (0731), er det vigtigt, at selve SSH-nøglen har de korrekte tilladelser for at sikre, at SSH-klienten accepterer den.

For at rette fejlen skal du ændre tilladelserne på din private nøglefil:

chmod 600 my_key

Dette vil sikre, at filen kun er læsbar og skrivbar af ejeren, og SSH-klienten vil acceptere nøglen.