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.