Ik had een probleem met mijn mac waar ik geen enkel soort bestand meer kon opslaan op de schijf. Ik moest OSX Lion opnieuw opstarten en de permissies van bestanden en acls opnieuw instellen.
Maar nu als ik een repository wil committen krijg ik de volgende foutmelding van ssh:
Permissions 0777 for '/Users/username/.ssh/id_rsa' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
Welke permissieniveaus moet ik aan het id_rsa bestand geven?
Sleutels moeten alleen door u gelezen kunnen worden:
chmod 400 ~/.ssh/id_rsa
Als de sleutels door u gelezen en geschreven moeten kunnen worden:
chmod 600 ~/.ssh/id_rsa
600 lijkt ook prima te zijn (in feite beter in de meeste gevallen, omdat je dan later geen bestandsrechten hoeft te wijzigen om het te bewerken).
Het relevante gedeelte uit de manpage (man ssh
)
~/.ssh/id_rsa Bevat de private sleutel voor authenticatie. Deze bestanden bevatten gevoelige gegevens en moeten leesbaar zijn voor de gebruiker maar niet toegankelijk zijn voor anderen (lezen/schrijven/uitvoeren). ssh negeert een privé sleutelbestand negeren als het toegankelijk is voor anderen. Het is mogelijk om een passphrase op te geven bij het genereren van de sleutel die zal worden gebruikt om het gevoelige deel van dit bestand met 3DES.
~/.ssh/identity.pub ~/.ssh/id_dsa.pub ~/.ssh/id_ecdsa.pub ~/.ssh/id_rsa.pub Bevat de publieke sleutel voor authenticatie. Deze bestanden zijn niet gevoelig en kunnen (maar hoeven niet) door iedereen gelezen worden.
Er is één uitzondering op de "0x00" permissie-eis voor een sleutel. Als de sleutel eigendom is van root en groepseigendom van een groep met gebruikers erin, dan kan het "0440" zijn en elke gebruiker in die groep kan de sleutel gebruiken.
Ik geloof dat dit zal werken met elke permissies in de set "0xx0" maar ik heb'niet elke combinatie getest met elke versie. Ik heb 0660 geprobeerd met 5.3p1-84 op CentOS 6, en de groep niet de primaire groep van de gebruiker maar een secundaire groep, en het werkt prima.
Dit zou typisch niet gedaan worden voor iemand's persoonlijke sleutel, maar voor een sleutel die gebruikt wordt voor automatisering, in een situatie waar u niet'wilt dat de applicatie met de sleutel kan knoeien.
Gelijkaardige regels gelden voor de .ssh directory beperkingen.