Próbuję utworzyć klucz ssh dla innego użytkownika. Jestem zalogowany jako root. Czy mogę po prostu edytować pliki wygenerowane przez ssh-keygen i zmienić użytkownika root na żądanego użytkownika?
Próbuję utworzyć klucz ssh dla innego użytkownika. Jestem zalogowany jako root. Czy mogę po prostu edytować pliki wygenerowane przez ssh-keygen i zmienić użytkownika root na żądanego użytkownika?
Odpowiedzi:
Można to jednak zrobić ssh-keygen
, pamiętając jednak, że klucz prywatny ma być prywatny dla użytkownika, dlatego należy bardzo uważać na jego bezpieczeństwo - tak bezpieczne, jak hasło użytkownika. A nawet bezpieczniej, ponieważ użytkownik prawdopodobnie nie będzie musiał go zmieniać przy pierwszym logowaniu.
ssh-keygen -f anything
tworzy dwa pliki w bieżącym katalogu. anything.pub
to klucz publiczny, który możesz dołączyć do użytkownika ~/.ssh/authorized_keys
na dowolnym serwerze docelowym.
Drugi plik, tak zwany, anything
jest kluczem prywatnym i dlatego powinien być bezpiecznie przechowywany dla użytkownika. Domyślna lokalizacja to ~username/.ssh/id_rsa
(tutaj o nazwie id_rsa
, która jest domyślna dla kluczy rsa). Pamiętaj, że .ssh
katalog nie może być odczytywany ani zapisywany przez nikogo oprócz użytkownika, a katalog domowy użytkownika nie może być zapisywany przez nikogo innego niż użytkownik. Podobnie, uprawnienia muszą być również ograniczone do klucza prywatnego: Odczyt / zapis tylko dla użytkownika, a katalog .ssh i prywatny plik kluczy muszą być własnością użytkownika.
Technicznie możesz przechowywać klucz w dowolnym miejscu. Dzięki ssh -i path/to/privatekey
możesz określić tę lokalizację podczas łączenia. Ponownie, właściwa własność i uprawnienia są krytyczne, a ssh nie będzie działać, jeśli nie masz odpowiednich praw.
ssh -i
na klucz prywatny dla procesu nieuprzywilejowanego to sposób, w jaki obsługuję więcej niż kilka zautomatyzowanych procesów tworzenia kopii zapasowych rsync. :)
users
lubuser's
W kluczach SSH nie ma informacji o użytkowniku .
Ostatnie pole w kluczu publicznym to komentarz (i można je zmienić, uruchamiając następujące polecenie ssh-keygen -C newcomment
).
Nie trzeba robić nic specjalnego, aby utworzyć klucz dla innego użytkownika, wystarczy umieścić go we właściwej lokalizacji i ustawić uprawnienia.
Zostań użytkownikiem, używając su i uruchom klucz jako ten użytkownik:
[root@kvm0001 ~]# su - joeuser
[joeuser@kvm0001 ~]$ ssh-keygen -t dsa (or rsa1 or rsa, depending on your security requirements)
Generating public/private dsa key pair.
Enter file in which to save the key (/home/joeuser/.ssh/id_dsa):
joeuser
jest użytkownikiem usługi, dlatego nie mogę się zalogować. Jak zezwolić użytkownikowi usługi (który po prostu uruchamia procesy) na posiadanie klucza ssh?