ssh "uprawnienia są zbyt otwarte" błąd

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?

Rozwiązanie

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.

Komentarze (12)

0600 jest tym, na co ustawiony jest mój (i'działa)

Komentarze (0)

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.

Komentarze (0)