Po wykonaniu powyższych czynności zawsze otrzymałem:
total 22
drwxrwxr-x+ 1 jl None 0 Sep 9 18:44 .
drwxrwxr-x+ 1 jl None 0 Sep 9 18:44 ..
-rw-rw---- 1 jl None 129 Jul 1 14:30 config
i błąd włączony .ssh/config
. Więc Zabrakło mi chown
na .ssh
folderze, i chmod
znowu tak:
> chown -R [USERNAME]:users .ssh/
i wtedy:
> chmod -R 600 .ssh/
i wreszcie mam to działa:
total 29
drwxrwxr-x+ 1 jl None 0 Sep 9 18:44 .
drwxrwxrwt+ 1 jl None 0 Sep 9 18:44 ..
drw-------+ 1 jl Users 0 Sep 9 18:44 .ssh
Edycja (dla bash na Windows10)
Gdy pojawi się błąd ..
Nie udało się dodać hosta do listy znanych hostów (/PATH_TO_HOME/USERNAME/.ssh/known_hosts).
Upewnij się, że znane_hosty są zapisywalne
$ chmod 755 znane_hosty
Uwaga: Uważam, że wystarczy ustawić 600 dla klucza prywatnego
Następnie spróbuj ssh.
Kiedy dostaniesz..
Na stałe dodano „HOST_IP” (RSA) do listy znanych hostów.
Możesz zastąpić tryb 600
$ chmod 600 znane_hosty
PS : Myślę, że to błąd w systemie Windows 8.
chown -R [Username]:Benutzer .ssh/
Ta odpowiedź jest kopiowana dosłownie z https://superuser.com/a/875934/82032 . To jedyna odpowiedź, która zadziałała dla mnie po ostatniej aktualizacji Cygwina.
Nie zapomnij o listach ACL
Nic mi nie działało, dopóki nie usunąłem pliku list ACL i nie zresetuję uprawnień.
Możesz użyć
getfacl
do wyświetlenia bieżącej listy ACL dla pliku.Zanim usunąłem listy ACL (uszkodzony):
Po pracy)
źródło
Sprawdź uprawnienia do
config
pliku za pomocąls
polecenia Cygwin :Prawdopodobnie będzie to coś takiego:
Plik konfiguracyjny musi należeć do [NAZWA UŻYTKOWNIKA]. Spróbuj tego:
ls -la
powinien teraz pokazywać poprawnego właściciela. Jeśli to nadal nie działa, spróbuj zresetować tryb (uprawnienia):źródło
Dla Uniksa i OSX
Całkiem proste:
Dla Windowsa
Jeśli plik jest dowiązaniem symbolicznym systemu Windows (NTFS), powyższe nie będzie działać. Musisz ustawić go jako zwykły plik. Nie jestem pewien dlaczego.
Jeśli nie masz openssh lub cygwin, użyj Chocolatey, aby łatwo zainstalować.
Otwórz terminal Cygwin, który został zainstalowany w Chocolatey i uruchom (uwaga, że
ssh-keygen
tworzy nowe klucze):Sprawdź, czy istnieją klucze (lub zastąp je kluczami, które chcesz), a następnie w powłoce Cygwin:
Lub w rzadkim przypadku, w którym używasz (i generowałeś klucze) pakietu SSH Chocolatey :
źródło
Ważna uwaga, jeśli twój system Windows nie jest w języku angielskim: nazwa grupy użytkowników zależy od ustawień regionalnych. Na przykład, jeśli twój system Windows jest w języku hiszpańskim, będziesz musiał zmienić właściciela plików za pomocą
chown $USER:Usuarios *
źródło
Żadne z nich (chmod / chown / icacls / setacl / copyacls / explorer> security) nie działało na moim cygwin64 / win7 / admin, w końcu to działa z
cygwin64/ssh -F ~/.ssh/config
innymi rozwiązaniami, aby używać starszego ssh w cygwin32 lub ssh w git dla Windows.źródło
-F
rozwiąże problemconfig
, ale nie rozwiąże uprawnień dla kluczy prywatnych.Dla tych, którzy używają
noacl
ścieżki z~/.ssh
dir, prostym rozwiązaniem jest utworzenie natywnego łącza symbolicznego NTFS:Ze
noacl
nie ma sposobu, aby ustawić uprawnienia inne następnierwxr-xr-x
alborw-r--r--
. Ponieważ/
hierarchia powinna być beznoacl
(lub powinna być zacl
), możesz tutaj utworzyć katalog i wskazać na problematyczne miejsca dla aplikacji Cygwin.źródło
mklink /j
wtedy lubjunction
narzędzie z Sysinternals Suite.tldr: Możliwe, że utworzyłeś konfigurację jako administrator
Rozwiązanie
Rozwiązania te mogą być przesadne, jeśli nie udało Ci się utworzyć pliku jako administrator i próbować użyć pliku z lokalnymi uprawnieniami.
~/.ssh
w programie PowerShell lub%userprofile%\.ssh
w cmd )notepad .\config
Proste polecenia (PowerShell):
źródło