smbclient uzyskuje NT_STATUS_LOGON_FAILURE połączenie z Windows


21

Używam smbclient na Ubuntu, próbuję połączyć się z systemem Windows i otrzymuję komunikat „konfiguracja sesji nie powiodła się: NT_STATUS_LOGON_FAILURE”.

Zweryfikowałem, że mogę pingować urządzenie i telnet na porty 139/445, więc jestem prawie pewien, że nie jest to problem zapory ogniowej. A mój klient mówi, że bez problemu mogą połączyć się z tym systemem Windows z innego systemu Windows za pomocą kombinacji identyfikatora użytkownika / hasła. Ponadto to pole może łączyć się za pośrednictwem programu smbclient z innymi urządzeniami Windows posiadanymi przez tego klienta.

Wszelkie inne pomysły na to, dlaczego to nie działa?

Odpowiedzi:


28

Czy sprawdziłeś plik smb.conf?

Upewnij się, że ustawienia grupy roboczej i zabezpieczeń są odpowiednio ustawione. Jeśli pracujesz z komputerem jako częścią domeny, żądania uwierzytelnienia są najpierw przekazywane przez kontroler domeny, więc upewnij się, że masz coś podobnego do:

security = domain
workgroup = WORKGROUP

Możesz także użyć -Wopcji, aby określić grupę roboczą, i dodać DOMAIN/przed swoją nazwą użytkownika, aby określić domenę:

$smbclient -L myhost -U DOMAIN/user -W workgroup

Mam nadzieję że to pomoże!


Okazuje się, że dodanie domeny załatwiło sprawę. Najwyraźniej niektóre wersje systemu Windows wymagają domeny, a inne nie? Ale dzięki!
David Jaquay,

zwróć uwagę, że bit „security = domain” nie jest tutaj potrzebny. Oprócz określenia grupy roboczej w pliku smb.conf, możesz także określić ją w wierszu poleceń, aby smbclient.
Jelmer

Tak, użyłem opcji -W do smbclient, żeby go uruchomić.
David Jaquay,

7
DOMENA / nazwa użytkownika również powinna działać.
Calmarius

1
Możesz także użyć smbclient z argumentem -W.
Andre Miras

7

Ten sam problem. Musiałem dodać użytkowników do pliku haseł Samby za pomocą

sudo smbpasswd -a

Najwyraźniej dzieje się tak, ponieważ domyślną konfiguracją w /etc/samba/smb.conf jest

bezpieczeństwo = użytkownik

passdb backend = tdbsam

Nie używam kontrolerów domeny ani Active Directory, więc pomyślałem, że dostęp do zwykłego pliku haseł będzie domyślny, ale chyba nie. Byłoby miło, gdyby tak było w dokumentacji, którą znalazłem. Odwołanie do „smbpasswd” dostarczyło podpowiedzi, która doprowadziła do tego rozwiązania.


Jestem w domenie i myślę, że w ten sposób będę musiał to zrobić, ponieważ nie używam mojego użytkownika domeny w systemie Linux, który jest osobistym gościem programistycznym Linux na hoście Windows. Ponadto jestem teraz w stanie pomyślnie połączyć się smbclient -L localhostz gościem, ale nie jestem jeszcze w stanie połączyć się za pomocą hosta systemu Windows. Myślę, że był to co najmniej jeden krok naprzód. Myślę, że jego porty stąd należy podać numery portów, aby sprawdzić w odpowiedzi.
Brian Thomas

2

Miałem ten sam problem ze smbclientem i zauważyłem, że zniknął, gdy ręcznie wybrałem opcję „Po prostu włącz udostępnianie plików” w oknie dialogowym udostępniania plików, które otrzymujesz po ręcznym kliknięciu prawym przyciskiem myszy folderu, który chcesz udostępnić.

Na niektórych komputerach z systemem Windows (takich jak Windows XP) musisz to dodać, aby umożliwić zdalne udostępnianie użytkownikom innym niż goście:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\forceguest=dword:0

lub automatyzacja za pomocą wiersza polecenia systemu Windows XP:

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v forceguest /t REG_DWORD /d 00000000 /f

Następnie smbclient pracował bez żadnych problemów z dowolnym użytkownikiem.

Wielkie podziękowania dla jethomów w http://www.techsupportforum.com/forums/f10/enable-file-sharing-via-the-command-line-133562.html


1

Może to wynikać z następującego powodu:

  1. Jeśli w pliku smb.conf podano poprawnych użytkowników, sprawdź smbpasswd
  2. Sprawdź plik hosts.

Nie jestem pewien, dlaczego to zostało odrzucone. Ta odpowiedź wskazała mi, smbpasswdktórego muszę użyć, aby ustawić poświadczenia, gdy otrzymywałem ten sam błąd.
Rick Chatham,

1

Mam ten sam problem, kiedy biegłem

smbclient \\\\[ip]\\[sharedresource]

To polecenie prosi mnie o wpisanie hasła dla użytkownika root, jednak gdy wprowadziłem hasło, otrzymałem błąd NT_STATUS_LOGON_FAILURE.

Dodałem -U, aby określić nazwę użytkownika mojego zdalnego komputera i zadziałało

smbclient \\\\[ip]\\[sharedresource] -U [username]

1

W systemie Windows 10 (host) i CentOS 7 (gość) udało mi się rozwiązać problem z uwierzytelnianiem poprzez wyłączenie udostępniania chronionego hasłem: Centrum sieci i udostępniania / Zaawansowane ustawienia udostępniania / wszystkie sieci / Udostępnianie chronione hasłem

Może to być pomocne tylko przy rozwiązywaniu problemów , nie zalecałbym trzymania go z dala od codziennego użytku.

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.