Zmieniłem swoje uprawnienia w .ssh
folderze i teraz, gdy korzystam z oprogramowania używającego mojego klucza prywatnego, muszę za każdym razem wpisywać hasło. Jakie powinny być moje uprawnienia do mojego id_rsa
pliku, aby nie musieć wpisywać hasła za każdym razem, gdy korzystam z aplikacji, która go używa?
Obecnie moje uprawnienia są ustawione na:
-rw-------@ 1 Jody staff 114 Nov 4 23:29 config
-rw------- 1 Jody staff 1743 Oct 21 2009 id_rsa
-rw-------@ 1 Jody staff 397 Oct 21 2009 id_rsa.pub
-rw-------@ 1 Jody staff 3855 Sep 13 22:35 known_hosts
linux
macos
permissions
file-permissions
JakeGould
źródło
źródło
Walczyłem z tym na zawsze i w końcu zorientowałem się, co jest potrzebne. Zamień
$USER
wszędzie na nazwę użytkownika SSH, na którą chcesz się zalogować na serwerze. Jeśli próbujesz zalogować się takroot
, jak trzeba użyć/root/.ssh
itp., Zamiast tego/home/root/.ssh
jest tak w przypadku użytkowników innych niż root.chmod go-w /home/$USER
chmod 700 /home/$USER/.ssh
chmod 644 /home/$USER/.ssh/authorized_keys
user
jest właścicielem plików / folderów, a nieroot
:chown user:user authorized_keys
ichown user:user /home/$USER/.ssh
ssh-keygen
) wauthorized_keys
pliku użytkownika na serwerze.ssh
folder, który modyfikowałeś. Jeśli nie, użyj,usermod -d /home/$USER $USER
aby rozwiązać problemservice ssh restart
.ssh
folderze użytkownika lokalnego i zaloguj się:ssh [email protected]
źródło
abc
), Innym niż użytkownik na zdalnym serwerze (np[email protected]
.). Musiałem tylko upewnić się, że lokalny użytkownik jest właścicielem lokalnych plików .ssh (np.abc:abc
Nieroot:abc
) `Upewnij się również, że Twój katalog domowy nie jest zapisywany przez innych użytkowników.
chmod g-w,o-w ~
źródło
Uprawnienia nie powinny mieć z tym nic wspólnego. Twój klucz prywatny jest zaszyfrowany hasłem, więc musisz go wprowadzić, aby klucz prywatny mógł zostać odszyfrowany i użyteczny.
Możesz rozważyć uruchomienie agenta ssh, który może buforować odszyfrowane klucze i dostarczy je do aplikacji, które ich potrzebują.
źródło
Felipe ma rację - katalog zawierający katalog .ssh nie może być zapisywany przez grupę lub inną grupę.
chmod go-w ~
Jest to więc kolejna logiczna rzecz do wypróbowania, jeśli po uruchomieniu ssh'ing nadal pojawia się monit o hasłossh-keygen -t rsa; cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
, zakładając, że nie przypisujesz hasła w komendzie ssh-keygen, a twój katalog .ssh znajduje się w twoim katalogu domowym.źródło