Jak sprawić, by logowanie bez hasła działało

12

Wygenerowałem klucz i skopiowałem go do mojego celu:

ssh-keygen
ssh-copy-id username@hostname

Zostawiłem domyślną lokalizację klucza i nie ustawiłem żadnego hasła.

Przez chwilę potem byłem w stanie ssh username@hostnamebez pytania o hasło, a potem przestało działać z jakiegoś powodu.

tshepang
źródło
2
Zobacz unix.stackexchange.com/tags/ssh/info… Niech to będzie pytanie referencyjne, które możemy zamknąć innym jako duplikat.
Gilles „SO- przestań być zły”,

Odpowiedzi:

8

Jeśli uwierzytelnianie za pomocą klucza publicznego nie działa: upewnij się, że po stronie serwera katalog domowy ( ~), ~/.sshkatalog i ~/.ssh/authorized_keysplik są zapisywalne tylko przez ich właściciela . W szczególności żadna z nich nie może być zapisywalna przez grupę (nawet jeśli użytkownik jest sam w grupie). chmod 755lub chmod 700jest w porządku, chmod 770nie jest.

Co sprawdzić, gdy coś jest nie tak:

  • Uruchom, ssh -vvvaby zobaczyć wiele wyników debugowania. Jeśli opublikujesz pytanie z pytaniem, dlaczego nie możesz połączyć się z ssh, dołącz to wyjście (możesz chcieć anonimizować nazwy hosta i użytkownika).
  • Jeśli to możliwe, należy sprawdzić logi serwera, zazwyczaj w /var/log/daemon.loglub /var/log/auth.loglub podobny.
  • Jeśli uwierzytelnianie za pomocą klucza publicznego nie działa, sprawdź ponownie uprawnienia, szczególnie bit grupy (patrz wyżej).
Gilles „SO- przestań być zły”
źródło
Cześć, dlaczego authorized_keysgrupa nie powinna pisać? Czy SSH odrzuca to ze względów bezpieczeństwa?
Cześć,
1
@YdobEmos Każdy, kto może pisać, authorized_keysmoże dodać własny klucz i zalogować się na konto. Dlatego tylko użytkownik musi mieć pozwolenie. (Możliwość zapisywania w grupie plików jest w rzeczywistości bezpieczna, jeśli w tej grupie nie ma innego użytkownika, ale trudno jest niezawodnie wykryć, kiedy członkostwo w grupie może pochodzić z sieciowych baz danych.)
Gilles „SO - przestań być zły”
1

Katalogiem domowym celu był 755 drwxr-xr-x. Zmiana na opcję zapisu grupowego 775 drwxrwxr-xzłamała konfigurację bez hasła.

tshepang
źródło
Ten sam problem jeszcze go nie rozwiązał.
Masz na myśli, że nie możesz zalogować się bez hasła, nawet po ustawieniu grupy katalogów do zapisu?
tshepang,
TAK - zobacz unix.stackexchange.com/q/208152/11085 , CentOS 7 64-bit, gdzie próbuję zalogować się przy użyciu moich kluczy id_rsa, ale zawsze kończy się to niepowodzeniem.
0

Zakładając RHEL / CentOS i zakładając, że masz dostęp administratora do zdalnego serwera, na którym użytkownik newuserchce ssh.

Uzyskaj newuser'sistniejące id_rsa.pubi gotowe.

Wykonaj kroki:

useradd newuser
mkdir /home/newuser/.ssh
vi /home/newuser/.ssh/authorized_keys
# copy newuser's id_rsa.pub into authorized_keys and save
chmod 640 /home/newuser/.ssh/authorized_keys
chmod 700 /home/newuser/.ssh/
chmod 700 /home/newuser/
chown newuser:newuser -R /home/newuser/

Spróbuj newusersię zalogować.

programista
źródło