Miałem problem z moim mac'iem, gdzie nie mogłem już zapisać żadnego pliku na dysku. Musiałem zrestartować OSX lion i zresetować uprawnienia na plikach i acls.
Ale teraz kiedy chcę popełnić repozytorium dostaję następujący błąd z 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.
Jakie poziomy uprawnień powinienem dać do pliku id_rsa?
Klucze muszą być możliwe do odczytania tylko przez użytkownika:
chmod 400 ~/.ssh/id_rsa
Jeśli klucze muszą być odczytywane i zapisywane przez użytkownika:
chmod 600 ~/.ssh/id_rsa
600 również wydaje się być w porządku (w rzeczywistości lepiej w większości przypadków, ponieważ nie trzeba zmieniać uprawnień do pliku później, aby go edytować).
Odpowiedni fragment ze strony man (man ssh
)
~/.ssh/id_rsa Zawiera klucz prywatny do uwierzytelniania. Pliki te zawierają wrażliwe dane i powinny być możliwe do odczytania przez użytkownika, ale nie dostępne dla innych (read/write/execute). plik klucza prywatnego, jeśli jest on dostępny dla innych. Możliwe jest podanie passphrase podczas generowania klucza, który zostanie użyty do zaszyfrowania wrażliwej część tego pliku przy użyciu 3DES.
~/.ssh/identity.pub ~/.ssh/id_dsa.pub ~/.ssh/id_ecdsa.pub ~/.ssh/id_rsa.pub Zawierają klucz publiczny do uwierzytelniania. Pliki te nie są wrażliwe i mogą (ale nie muszą) być odczytywane przez każdego.
Istnieje jeden wyjątek od wymogu "0x00" uprawnień na kluczu. Jeśli klucz jest własnością root'a i jest własnością grupy z użytkownikami, to może być "0440" i każdy użytkownik w tej grupie może używać klucza.
Wierzę, że będzie to działać z dowolnymi uprawnieniami w zestawie "0xx0", ale nie testowałem każdej kombinacji z każdą wersją. Próbowałem 0660 z 5.3p1-84 na CentOS 6, a grupa nie jest grupą podstawową użytkownika, ale grupą drugorzędną, i działa dobrze.
Zazwyczaj nie robi się tego dla czyjegoś osobistego klucza, ale dla klucza używanego do automatyzacji, w sytuacji, w której nie chce się, aby aplikacja mogła mieszać z kluczem.
Podobne zasady obowiązują w przypadku ograniczeń dotyczących katalogu .ssh.