ssh mówi: Nie istniejesz, odejdź!

14

Czasami, gdy próbuję sshpołączyć się z serwerem, pojawia się następujący komunikat:

You don't exist, go away!

Nie widziałem tego przed użyciem ssh. Co to znaczy? Czy jest problem z ssh lub czymś innym? Dodatkowe informacje:

ssh -q -i private_key [email protected] "command" 

Serwer to SUSE Linux. Uruchamiam sshpolecenie w pętli 10 razy i tylko 1 lub 2 próby powodują wyświetlenie komunikatu Odejdź.

kubek kawy
źródło
5
Spróbuj wyszukać przed zadaniem pytań. Jest to standardowy komunikat o błędzie, a 5-minutowe wyszukiwanie powinno powiedzieć, co to znaczy. Ponadto, pytając Qs, pamiętaj, aby dołączyć system operacyjny, system operacyjny maszyny, z którą się łączysz, wyjście ssh -vvitp.
terdon
2
OK, w takim przypadku wspomnij o tym, powiedz nam o omawianych systemach operacyjnych, powiedz nam, co wykluczyłeś, pokaż nam wyniki ssh -vv, wyjaśnij, dlaczego Twoim zdaniem problem nie jest związany /etc/password(wskazówka: prawdopodobnie jest to błąd narzekasz na użytkownika, który nie istnieje, prawda?). Jak uwierzytelniasz się w urządzeniu? Czy istnieje scentralizowany serwer uwierzytelniający? Jakie opcje, jeśli przechodzisz ssh? Daj nam coś do pracy!
terdon
1
Zwykle zgadzam się z Joelem w sprawie prostych pytań i to pytanie wzbudziło moje zainteresowanie. Jednak @coffeMug, jeśli masz problem, opisz go jasno (i udokumentuj, co próbowałeś rozwiązać).
phunehehe
1
@terdon Podałem więcej informacji.
coffeMug
1
„Uruchamiam polecenie ssh w pętli 10 razy i tylko 1 lub 2 próby powodują wyświetlenie komunikatu Odejdź”. To jest dokładnie to, o czym musisz wspomnieć, to trochę zmienia wszystko :).
terdon

Odpowiedzi:

21

Komunikat o błędzie prawdopodobnie pochodzi z sshtwojego komputera. Źródło

Dzieje się tak, jeśli sshnie możesz znaleźć swojej nazwy użytkownika w passwdbazie danych.

Możesz spróbować uruchomić getent passwd $USERNAMEwiele razy i sprawdzić, czy to się nie powiedzie.

W zależności od passwdkonfiguracji wyszukiwania spróbuj jednego z tych:

  • Upewnij się, że Twoja nazwa użytkownika pojawia się w /etc/passwd
  • Upewnij się, że sssdlub nscddziała poprawnie, jeśli to konieczne
  • Upewnij się, że połączenie z serwerem konta, np. NIS, LDAP itp. Działa
  • Sprawdź pliki dziennika systemu na komputerze ( /var/log/messages, /var/log/syslogetc.)

Jeśli opublikujesz dane wyjściowe grep '^passwd' /etc/nsswitch.conf, wraz z interesującymi częściami danych ssh -vvwyjściowych i dzienników systemowych, ludzie prawdopodobnie mogą pomóc więcej.

Mikel
źródło
To wydaje się być poprawnym wyjaśnieniem problemu. :-)
coffeMug
1
Może się to często zdarzyć, jeśli uwierzytelniasz się za pośrednictwem serwera LDAP, a zasady Polkit (lub podobne) nie dodają poprawnie do żadnych lokalnych grup. SSH i inne podstawowe narzędzia systemowe patrzą tylko na / etc / passwd i nie rozumieją PAM / etc bez pomocy, a czasem wcale.
dragon788,
4

Jeśli zmienisz identyfikator UID konta, każda istniejąca powłoka będzie miała tego rodzaju kryzys tożsamości. Sprawdź, porównując UID z wyjścia „id” i wykonaj grep $(whoami) /etc/passwd. jeśli zmieniasz UID, sprawdź, czy dla użytkownika nie ma żadnych wpisów w pliku crontab!

John Westerdale
źródło