Dodaj użytkownika bez hasła, ale z SSH i kluczem publicznym


33

Chcę dodać użytkownika do Red Hat Linux, który nie użyje hasła do logowania, ale zamiast tego użyje klucza publicznego dla ssh. To byłoby w wierszu poleceń.


useradd --password-disable i adduser --password disable. Przejrzałem opcje dla obu i nie widzę wyłączenia hasła jako opcji dla obu.
user119776,

Czy wiesz, jak ogólnie skonfigurować logowanie do klucza SSH? Myślę, że konto nie musi być zablokowane, co oznaczałoby, że niektóre hasła są aktywne. Może to być jakieś długie hasło, którego nikt tak naprawdę nie zna.
Micah Yoder,

Mam klucz i wiem, że muszę utworzyć folder w katalogu użytkownika i wkleić tam część publiczną. Mogę spróbować w ten sposób, ale pomyślałem, że muszę też wyłączyć hasło użytkownika.
user119776,

Zamiast pisać kolejny post pokazujący, jak dodać użytkownika, zgadzam się z Lambertem. Musisz się skoncentrować na części zadania, z którą masz problemy. Jeśli nie wiesz, jak nawet dodać użytkownika, powinieneś zacząć od małych i rozwijać się. Uważam, że musisz tylko utworzyć użytkownika, nie ustawiać żadnego hasła i umieścić jego klucz w /home/username/.ssh/authorized_keys.
Baazigar,

Odpowiedzi:


37

Zacznij od utworzenia użytkownika:

useradd -m -d /home/username -s /bin/bash username

Utwórz parę kluczy z klienta, z którego będziesz korzystać ssh:

ssh-keygen -t dsa

Skopiuj klucz publiczny /home/username/.ssh/id_dsa.pubna host RedHat do/home/username/.ssh/authorized_keys

Ustaw poprawne uprawnienia do plików na hoście RedHat:

chown -R username:username /home/username/.ssh
chmod 700 /home/username/.ssh
chmod 600 /home/username/.ssh/authorized_keys

Upewnij się, że uwierzytelnianie klucza publicznego jest włączone na hoście RedHat:

grep  PubkeyAuthentication /etc/ssh/sshd_config
#should output:
PubkeyAuthentication yes

Jeśli nie, zmień tę dyrektywę na tak i zrestartuj sshdusługę na hoście RedHat.

Od klienta rozpocznij sshpołączenie:

ssh username@redhathost

Powinien automatycznie wyszukać klucz id_dsaw ~/.ssh/. Możesz także określić plik tożsamości, używając:

ssh -i ~/.ssh/id_dsa username@redhathost

3
Właściwie nie zapomniałem o blokadzie hasła. Ponieważ po prostu go nie ustawiłem, hasło nowo utworzonego użytkownika jest automatycznie blokowane.
Lambert

3
użyj RSA zamiast DSA
sg

zdajesz sobie sprawę, że polecenie „ssh-keygen -t dsa” utworzy klucze dla bieżącego użytkownika, może zastąpić własne klucze
yarun może

15

W Ubuntu możesz dodać użytkownika za pomocą:

adduser --disabled-password <username>

Następnie utwórz .ssh/authorized_keysplik w swoim katalogu domowym za pomocą klucza publicznego.


7

Możesz użyć:

usermod --lock <username>

Ze strony podręcznika:

Zablokuj hasło użytkownika. To oznacza „!” przed zaszyfrowanym hasłem, skutecznie wyłączając hasło. Nie możesz użyć tej opcji z opcją -p lub -U. Uwaga: jeśli chcesz zablokować konto (nie tylko dostęp za pomocą hasła), powinieneś również ustawić EXPIRE_DATE na 1.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.