smbclient รับ NT_STATUS_LOGON_FAILURE เชื่อมต่อกับกล่อง Windows


21

ฉันใช้ smbclient บน Ubuntu พยายามเชื่อมต่อกับกล่อง Windows และฉันได้รับ "การตั้งค่าเซสชันล้มเหลว: NT_STATUS_LOGON_FAILURE"

ฉันยืนยันว่าฉันสามารถ ping กล่องและ telnet ไปยังพอร์ต 139/445 ดังนั้นฉันค่อนข้างแน่ใจว่าไม่ใช่ปัญหาไฟร์วอลล์ และลูกค้าของฉันบอกว่าพวกเขาสามารถเชื่อมต่อกับกล่อง Windows นี้จากกล่อง Windows อื่นด้วยชุดรหัสผู้ใช้ / รหัสผ่านโดยไม่มีปัญหา นอกจากนี้กล่องนี้ยังสามารถเชื่อมต่อผ่าน smbclient ไปยังกล่อง Windows อื่น ๆ ที่ไคลเอ็นต์นี้มี

แนวคิดอื่น ๆ สำหรับสาเหตุที่ทำให้สิ่งนี้ไม่ทำงาน

คำตอบ:


28

คุณตรวจสอบ smb.conf ของคุณแล้วหรือยัง

ตรวจสอบให้แน่ใจว่าการตั้งค่าเวิร์กกรุ๊ปและความปลอดภัยของคุณนั้นถูกต้อง หากคุณทำงานกับคอมพิวเตอร์ aa เป็นส่วนหนึ่งของโดเมนคำขอการตรวจสอบความถูกต้องจะถูกส่งผ่านตัวควบคุมโดเมนของคุณเป็นอันดับแรกดังนั้นตรวจสอบให้แน่ใจว่าคุณมีสิ่งที่คุ้นเคย

security = domain
workgroup = WORKGROUP

คุณยังสามารถใช้-Wตัวเลือกเพื่อระบุเวิร์กกรุ๊ปและเพิ่มDOMAIN/ก่อนชื่อผู้ใช้ของคุณเพื่อระบุโดเมน:

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

หวังว่านี่จะช่วยได้!


กลับกลายเป็นว่าการเพิ่มโดเมนได้หลอกลวง เห็นได้ชัดว่าบางรุ่นของ Windows ต้องการโดเมนและอื่น ๆ ไม่ได้? แต่ขอบคุณ!
David Jaquay

โปรดทราบว่าบิต 'ความปลอดภัย = โดเมน' ไม่จำเป็นที่นี่ นอกเหนือจากการระบุเวิร์กกรุ๊ปใน smb.conf คุณยังสามารถระบุเวิร์กกรุ๊ปในบรรทัดคำสั่งเป็น smbclient
jelmer

ใช่ตัวเลือก -W เพื่อ smbclient คือสิ่งที่ฉันใช้เพื่อให้มันทำงานได้
David Jaquay

7
DOMAIN / ชื่อผู้ใช้ควรใช้งานได้เช่นกัน
Calmarius

1
คุณอาจใช้ smbclient กับอาร์กิวเมนต์ -W
Andre Miras

7

ปัญหาเดียวกัน ฉันต้องเพิ่มผู้ใช้ไปยังไฟล์รหัสผ่านของ Samba ด้วย

sudo smbpasswd -a

เห็นได้ชัดว่าเป็นเพราะการกำหนดค่าเริ่มต้นใน /etc/samba/smb.conf คือ

ความปลอดภัย = ผู้ใช้

passdb backend = tdbsam

ฉันไม่ได้ใช้ตัวควบคุมโดเมนหรือไดเรกทอรีที่ใช้งานอยู่ดังนั้นฉันคิดว่าการเข้าถึงไฟล์รหัสผ่านปกติจะเป็นค่าเริ่มต้น แต่ฉันเดาไม่ได้ มันจะดีถ้ามันชัดเจนในเอกสารที่ฉันพบ การอ้างอิง“ smbpasswd” ให้คำแนะนำที่นำไปสู่โซลูชันนี้


ฉันอยู่ในโดเมนและนี่คือวิธีที่ฉันคิดว่าฉันจะต้องทำเช่นนี้เพราะฉันไม่ได้ใช้ผู้ใช้โดเมนของฉันบน Linux ซึ่งเป็นผู้พัฒนาลินุกซ์ส่วนตัวบนโฮสต์ windows นอกจากนี้ตอนนี้ฉันสามารถเชื่อมต่อsmbclient -L localhostกับแขกได้สำเร็จ แต่ยังไม่สามารถเชื่อมต่อโดยใช้โฮสต์ windows ฉันคิดว่านี่เป็นอย่างน้อยหนึ่งก้าวไปข้างหน้า ฉันคิดว่าพอร์ตจากที่นี่คุณควรรวมหมายเลขพอร์ตเพื่อตรวจสอบในคำตอบของคุณ
Brian Thomas

2

ฉันมีปัญหาเดียวกันกับ smbclient และฉันสังเกตว่ามันหายไปเมื่อฉันเลือกตัวเลือก "เปิดใช้งานการแชร์ไฟล์" ด้วยตนเองในกล่องโต้ตอบการแชร์ไฟล์ที่คุณได้รับหลังจากคลิกขวาด้วยตนเองที่โฟลเดอร์ที่คุณต้องการแชร์ด้วยตนเอง

ในเครื่อง Windows บางเครื่อง (เช่น Windows XP) คุณต้องเพิ่มสิ่งนี้เพื่ออนุญาตการแชร์ระยะไกลสำหรับผู้ใช้ที่ไม่ใช่แขก:

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

หรือทำให้เป็นอัตโนมัติโดยใช้บรรทัดคำสั่ง windows xp:

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

หลังจากนั้น smbclient ทำงานได้โดยไม่มีปัญหากับผู้ใช้ใด ๆ

ขอบคุณ jethomas มากในhttp://www.techsupportforum.com/forums/f10/enable-file-sharing-via-the-command-line-133562.html


1

อาจเกิดจากสาเหตุดังต่อไปนี้:

  1. หากมีการระบุผู้ใช้ที่ถูกต้องใน smb.conf ให้ตรวจสอบ smbpasswd
  2. ตรวจสอบไฟล์โฮสต์

ไม่แน่ใจว่าทำไมสิ่งนี้ถึงลงมติ คำตอบนี้ชี้ให้ฉันเห็นsmbpasswdว่าฉันต้องใช้อะไรเพื่อตั้งค่าข้อมูลรับรองเมื่อฉันได้รับข้อผิดพลาดเดียวกันนี้
Rick Chatham

1

ฉันพบปัญหาเดียวกันเมื่อฉันวิ่ง

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

คำสั่งนั้นขอให้ฉันป้อนรหัสผ่านสำหรับผู้ใช้รูท แต่เมื่อฉันป้อนรหัสผ่านฉันได้รับข้อผิดพลาด NT_STATUS_LOGON_FAILURE

ฉันเพิ่ม -U เพื่อระบุชื่อผู้ใช้ของเครื่องระยะไกลและใช้งานได้

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

1

ใน Windows 10 (โฮสต์) และ CentOS 7 (แขก) ฉันสามารถแก้ไขปัญหาการรับรองความถูกต้องได้โดยการปิดการใช้รหัสผ่านร่วมกัน: เครือข่ายและศูนย์แบ่งปัน / การตั้งค่าการแชร์ขั้นสูง / เครือข่ายทั้งหมด / การป้องกันด้วยรหัสผ่าน

สิ่งนี้มีประโยชน์สำหรับการแก้ไขปัญหาเท่านั้นฉันไม่แนะนำให้ปิดใช้งานทุกวัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.