Miałem problem z komputerem Mac, w którym nie mogłem już zapisać żadnego rodzaju pliku na dysku. Musiałem zrestartować lwa OSX i zresetować uprawnienia do plików i acls.
Ale teraz, gdy chcę zatwierdzić repozytorium, otrzymuję następujący błąd od 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 przyznać plikowi id_rsa?
permissions
ssh
Yannick Schall
źródło
źródło
StrictModes
jest włączona nasshd
serwerze, z człowieka stronie: „StrictModes Określa, czy sshd (8) Należy sprawdzić tryby plików i własności plików użytkownika i katalog domowy przed zaakceptowaniem logowanie”. - możesz to wyłączyć, jednak nie jest to zalecane.Odpowiedzi:
Klucze muszą być czytelne tylko dla Ciebie:
Jeśli klucze muszą być przez Ciebie zapisywalne:
Wydaje się również, że 600 jest w porządku (w rzeczywistości lepsza w większości przypadków, ponieważ nie trzeba później zmieniać uprawnień do plików, aby go edytować).
Odpowiednia część z manpage (
man ssh
)źródło
Korzystając z Cygwin w Windows 8.1, należy uruchomić polecenie:
Następnie można zastosować zamieszczone tutaj rozwiązanie, 400 lub 600 jest OK.
Ref: http://vineetgupta.com/blog/cygwin-permissions-bug-on-windows-8
źródło
C:\cygwin64
), więc prawdopodobnie odziedziczył uprawnienia. Dziwne, że tak się nie stało na innych laptopach, które posiadałem.Rozwiązanie niezależne od ustawień regionalnych, które działa w systemie Windows 8.1 to:
GID 545 to specjalny identyfikator, który zawsze odnosi się do grupy „Użytkownicy”, nawet jeśli ustawienia narodowe używają innego słowa dla użytkowników.
źródło
0600 jest tym, na czym ustawiony jest mój (i działa)
źródło
AFAIK wartościami są:
700 dla ukrytego katalogu „.ssh”, w którym znajduje się plik klucza
600 dla pliku klucza „id_rsa”
źródło
Mam błąd w moim systemie Windows 10, więc ustawiłem uprawnienia w następujący sposób i działa.
Szczegółowo usuwaj innych użytkowników / grupy, dopóki nie będą mieć tylko „SYSTEM” i „Administratorzy”. Następnie dodaj do niego logowanie do systemu Windows tylko z uprawnieniami do odczytu.
Uwaga:
id_rsa
plik znajduje się wc:\users\<username>
folderze.źródło
Edit...
a następnie naciśnij,Add...
a następnie wpisz swoje imię w polu tekstowym"Enter the object names to select"
a następnie naciśnijCheck Names
przycisk (i naciśnijOK
i jeszcze razOK
), a następnie twoje imię i nazwisko powinno być wymienione wSecurity
zakładce.pem
domyuser directory
Istnieje jeden wyjątek od wymogu uprawnień „0x00” dla klucza. Jeśli klucz jest własnością użytkownika root, a grupa należy do grupy, w której znajdują się użytkownicy, może to być „0440”, a każdy użytkownik w tej grupie może używać klucza.
Wierzę, że to zadziała z dowolnymi uprawnieniami w zestawie „0xx0”, ale nie przetestowałem każdej kombinacji z każdą wersją. Próbowałem 0660 z 5.3p1-84 na CentOS 6, a grupa nie jest podstawową grupą użytkownika, ale grupą dodatkową i działa dobrze.
Zwykle nie robi się tego w przypadku czyjegoś klucza osobistego, ale w przypadku klucza używanego do automatyzacji, w sytuacji, gdy nie chcesz, aby aplikacja mogła zepsuć się z kluczem.
Podobne zasady dotyczą ograniczeń katalogu .ssh.
źródło
podaj 400 uprawnień, wykonaj poniższe polecenie
źródło
W systemie Windows 10 chmod i chgrp cygwina nie były dla mnie wystarczające. Musiałem kliknąć prawym przyciskiem myszy plik -> Właściwości -> Bezpieczeństwo (karta) i usunąć wszystkich użytkowników i grupy oprócz mojego aktywnego użytkownika.
źródło
To działało dla mnie (na Macu)
następnie :
Mam nadzieję, że to pomoże
źródło
co dla mnie zadziałało
źródło
Mam ten sam problem po migracji z innego komputera Mac. I to zablokowało połączenie github przez mój klucz.
Resetuję uprawnienia jak poniżej i teraz działa dobrze.
źródło
Windows 10 ssh do Ubuntu EC2 błąd „uprawnienia są zbyt otwarte” na AWS
Miałem ten problem przy próbie ssh do instancji Ubuntu EC2 przy użyciu pliku .pem z AWS.
W systemie Windows działało to, gdy umieściłem ten klucz w utworzonym w folderze .ssh
Aby zmienić ustawienia uprawnień w systemie Windows 10:
Można wtedy bezpiecznie połączyć.
źródło
Dla mnie (za pomocą podsystemu Ubuntu dla systemu Windows) komunikat o błędzie zmienił się na:
po użyciu chmod 400. Okazuje się, że powodem było użycie roota jako domyślnego użytkownika.
Zmień to za pomocą cmd:
źródło
Ciekawa wiadomość tutaj. Systemy operacyjne są wystarczająco inteligentne, aby odmawiać połączeń zdalnych, jeśli klucz prywatny jest zbyt otwarty. Rozumie ryzyko, że uprawnienia dla id_rsa są szeroko otwarte (odczyt, każdy może edytować).
{Można najpierw zmienić zamek, a następnie otworzyć go za pomocą kluczy, które już posiada}
Pracując na wielu serwerach (nieprodukcyjnych), większość z nas czuje potrzebę połączenia zdalnego serwera z ssh. Dobrym pomysłem jest posiadanie kodu poziomu aplikacji (może to być Java za pomocą jsch) w celu utworzenia zaufania ssh między serwerami. W ten sposób połączenie będzie bez hasła. Incase, perl jest zainstalowany - można również użyć modułu net ssh.
źródło
Ten błąd napotkałem podczas zabawy z Ansible. Zmieniłem uprawnienia klucza prywatnego na 600 , aby rozwiązać ten problem. I zadziałało!
źródło
Próbowałem na poziomie 600 uprawnień dla mojego klucza prywatnego i zadziałało to dla mnie. chmod 600 privateKey [dev] $ ssh -i privateKey użytkownik @ ip działał
chmod 755 privateKey [dev] $ ssh -i privateKey użytkownik @ ip dawał następujący problem: Uprawnienia 0755 dla 'privateKey' są zbyt otwarte. Wymagane jest, aby pliki kluczy prywatnych NIE były dostępne dla innych. Ten klucz prywatny zostanie zignorowany. Załaduj klucz „privateKey”: złe uprawnienia
źródło
źródło
Używam VPC na EC2 i otrzymywałem te same komunikaty o błędach. Zauważyłem, że korzystam z publicznego DNS. Zmieniłem to na prywatny DNS i vola !! zadziałało...
źródło
dla Win10 musisz przenieść klucz do katalogu domowego użytkownika dla Linux-a, musisz przeskoczyć do 700 jak lub 600 itd.
źródło