ทำไมการแจ้งเตือน“ รหัสผ่าน” ใช้เวลาตลอดไปเมื่อฉันใช้ SSH ไปยังเซิร์ฟเวอร์ Ubuntu 9.05


27

คำตอบ:ในความเป็นจริงแล้วการแก้ปัญหา DNS แบบย้อนกลับ จากคำแนะนำด้านล่างและบทความนี้ฉันได้เพิ่ม "UseDNS no" ใน sshd_config, rebooted ssh ของฉันใหม่และตอนนี้รหัสผ่านจะปรากฏขึ้นทันที

เมื่อฉัน SSH ลงในเซิร์ฟเวอร์ของฉันฉันจะได้รับพรอมต์ "login as:" ตามด้วยตามด้วยรหัสผ่าน ไม่ว่าจะด้วยเหตุผลใดก็ตามตัวที่สองใช้เวลาชั่วขณะหนึ่งในการแสดงผล เซิร์ฟเวอร์ของฉันไม่โหลดใด ๆ และโดยทั่วไปจะเรียกใช้คำสั่งอย่างรวดเร็ว

ตอนนี้เรากำลังพูดถึงเพียง 10 วินาทีหรือมากกว่านั้นระหว่างเวลาที่ฉันกด Enter เพื่อชื่อผู้ใช้และเมื่อการแจ้งเตือนครั้งที่สองปรากฏขึ้น แต่เมื่อคุณทำสิ่งนี้มากมันจะน่ารำคาญ ฉันสงสัยว่า Ubuntu กำลังค้นหาบัญชีผู้ใช้ของฉัน แต่มันมี <5 บัญชีในการติดตั้งทั้งหมด

อัปเดต @Josh / var / log / ข้อความมีอัญมณีนี้:

Oct 28 16:54:59 Athena sudo: pam_sm_authenticate: Called
Oct 28 16:54:59 Athena sudo: pam_sm_authenticate: username = [msmith]
Oct 28 16:54:59 Athena sudo: Warning: Using default salt value (undefined in ~/.ecryptfsrc)
Oct 28 16:55:01 Athena sudo: Passphrase key already in keyring; rc = [1]
Oct 28 16:55:02 Athena sudo: Passphrase key already in keyring; rc = [1]
Oct 28 16:55:02 Athena sudo: There is already a key in the user session keyring for the given passphrase.

ที่msmithเป็นชื่อผู้ใช้ของฉัน ทั้งหมดนี้หมายความว่าอย่างไร?


คุณรู้ (หรือต้องการเรียนรู้) วิธีการใช้แพ็คเก็ตดมกลิ่นเช่น Wireshark หรือtcpdump? ที่สามารถบอกคุณได้ว่าเซิร์ฟเวอร์ใช้งานตลอดเวลาด้วยตัวเองหรือกำลังสื่อสารกับลูกค้าจริง ๆ
Arjan

คำตอบ:


17

เป็นไปได้หรือไม่ที่จะทำการค้นหา DNS ย้อนกลับบน IP ของคุณ? คุณสามารถตรวจสอบผลลัพธ์ออนไลน์ได้หากลูกค้าใช้ที่อยู่ IP สาธารณะหรือใช้สิ่งต่อไปนี้จากเซิร์ฟเวอร์ของคุณ:

dig -x CLIENT_IP_ADDRESS

มีอะไร/var/log/messagesมั้ย


ฉันมีคำเตือนในบันทึก: คำเตือน: การใช้ค่าเกลือเริ่มต้น (ไม่ได้กำหนดใน ~ / .ecryptfsrc) ฉันโพสต์หัวข้อทั้งหมดไว้ในคำถามเพื่อการวิเคราะห์ของคุณ
rcampbell

@ rrc7cz แล้ว DNS แบบย้อนกลับนั้นล่ะ ที่อยู่ IP ของคุณแก้ไขปัญหาบางอย่างหรือไม่? (ฉันสงสัยว่ามันจะช่วยได้บ่อยครั้งที่ต้องจับมือกันเพื่อตัดสินใจว่าควรแสดงพรอมต์สำหรับชื่อผู้ใช้หรือไม่การทดสอบอย่างรวดเร็วโดยใช้ Wireshark บน Mac ของฉันแสดงว่า SSH เริ่มต้นนานก่อนที่ชื่อผู้ใช้จะถูกถาม แต่อาจจะ ? ลูกค้าบางส่วนขอชื่อผู้ใช้ว่าก่อนที่จะได้พยายามที่จะเชื่อมต่อ ... )
Arjan

3
ฉันมีปัญหาการค้นหา DNS ย้อนกลับนี้ทำให้การเชื่อมต่อ SSH ของฉันช้าลงในการติดตั้งสองสามครั้ง ... หากคุณพบว่านี่เป็นกรณีที่แสดงความคิดเห็นในบรรทัด "UseDNS ใช่" ใน / etc / ssh / sshd_config และรีสตาร์ท sshd
John Barrett

@ จอห์นคุณจำได้ไหมถ้ามันช้าลงหลังจากพิมพ์ชื่อผู้ใช้?
Arjan

1
"UseDNS no" ช่วยฉันด้วย! โหวตขึ้นสำหรับทั้งคำถาม & คำตอบ!
Grizly

14

อาจเป็นไปได้ว่าการแก้ไข DNS แบบย้อนกลับ (เซิร์ฟเวอร์พยายามรับชื่อลูกค้าที่ได้รับ IP) ใช้เวลานาน คุณสามารถตรวจสอบว่า / etc / ssh / sshd_config มีการตั้งค่า "VerifyReverseMapping ใช่" หรือไม่ ตั้งค่าเป็น "VerifyReverseMapping no" และตรวจสอบว่ามีประโยชน์หรือไม่

แก้ไข: ดูเหมือน VerifyReverseMapping จะเลิกในขณะนี้และ useDNS คือการกำหนดค่าใหม่ในsshd_config


อาจเป็นเรื่องจริง แต่มันก็สมเหตุสมผลแล้วที่ชื่อผู้ใช้จะปรากฏขึ้นทันทีหลังจากนั้นจะใช้เวลา 10 วินาทีในการขอรหัสผ่าน?
Arjan

ไคลเอนต์สามารถแก้ไขชื่อเซิร์ฟเวอร์และส่งการร้องขอนั่นคือสาเหตุที่พร้อมท์ผู้ใช้ปรากฏขึ้นทันที แต่เซิร์ฟเวอร์พยายามรับชื่อลูกค้า (การแก้ไข DNS แบบย้อนกลับ) การดำเนินการนี้อาจหมดเวลาหากไม่มีขนาดรายการ การตั้งค่า "VerifyReverseMapping" ใน sshd-config ควบคุมการตรวจสอบนี้
secureBadshah

1
นี่คือเหตุผลสำหรับความเชื่องช้าในกรณีของฉันดังนั้นอย่างน้อยก็มีเหตุผลในบางกรณี ใจคุณที่เริ่มต้นคือyesจึงไม่เพียงค้นหาถ้าuseDNSเป็นชุด :)
Nanne


3

คุณสามารถเข้าสู่ระบบด้วยชื่อผู้ใช้เพื่อเริ่มต้นด้วย:

ssh user@server

มีผลกระทบอะไรบ้าง?

หากคุณใช้ PuTTY มันสามารถกำหนดค่าได้ในการเชื่อมต่อ -> ข้อมูลเป็นชื่อผู้ใช้เข้าสู่ระบบอัตโนมัติ


1
ถึงแม้ว่าสิ่งนี้จะไม่เร่งความเร็วเวลาที่ใช้ในการให้รหัสผ่านปรากฏขึ้น แต่ก็จะเพิ่มความเร็วในกระบวนการเข้าสู่ระบบโดยรวม ขอบคุณ
rcampbell

3

หากคุณไม่มีชื่อโดเมนที่ถูกต้องสำหรับทุกสิ่งเพียงแค่สร้างและวางไว้ใน/etc/hostsนั้น ดูว่ามันจะเร็วขึ้นหรือไม่.comเพียงแค่ใช้ "bob, carol, ted, alice" หรืออะไรก็ตามที่คุณต้องการ ...

หากปัญหาคือการแก้ปัญหาหมดเวลาแล้วมันจะแก้ไข


1

โปรดจำไว้ว่าไคลเอนต์จะทำการตรวจสอบ reverse-DNS ซึ่งอาจใช้เวลา 30 วินาทีหรือมากกว่าในการหมดเวลาหากไม่มีการแม็พ reverse-DNS กับการกำหนดค่าความละเอียดบางอย่าง

ใน/etc/ssh/ssh_configหรือ~/.ssh/configตั้งค่าCheckHostIP noให้ปิดใช้งานการค้นหาฝั่งไคลเอ็นต์นี้

ดูman 5 ssh_configรายละเอียดเพิ่มเติมได้ที่


1

ฉันพบวิธีแก้ไขปัญหาอื่นแล้ว: - http://www.patrickmin.com/linux/tip.php?name=ssh_pause

ฉันมีปัญหาเดียวกันนี้เข้าสู่เครื่องสร้างลินุกซ์โดยใช้ Putty ภายใต้หน้าต่าง การเพิ่มที่อยู่ IP ของกล่อง windows ของฉันไปที่ / etc / hosts บนเครื่อง linux แก้ปัญหาได้


3
ยินดีต้อนรับสู่ Super User - โดยทั่วไปแล้วเราต้องการให้คุณใส่รายละเอียดและไม่ใช่แค่ลิงค์ คุณสามารถแก้ไขคำตอบเพื่อเพิ่มข้อมูลเพิ่มเติมจากลิงค์ได้หรือไม่
Simon Sheehan

1

สำหรับบันทึกฉันพบปัญหาเดียวกับที่ ssh จะรวดเร็วจากที่บ้านถึงเซิร์ฟเวอร์ของฉัน (ส่วนใหญ่ใช้เป็น git) แต่ใช้เวลา 10-20 วินาทีในการทำงานเพื่อรับรหัสผ่าน

ผมต้องปิดและเริ่มต้นใหม่UseDNS no sshd sudo systemctl restart sshd.serviceจากนั้นทำงานได้จากทุกสถานที่

ฉันรู้ว่าคำถามได้รับคำตอบและยอมรับ แต่ฉันต้องการเพิ่มข้อมูลเนื่องจากฉันต้อง "แข็งขัน" ตั้งค่าเป็นไม่เพื่อให้หยุดใช้ dns


0

โปรดตรวจสอบว่า nslcd (LDAP daemon) กำลังทำงานอยู่:

ps -ef | grep nslcd

มันอาจทำให้เกิดปัญหานี้

ถ้ามันกำลังทำงานหยุดมันและลบออกจากรายการบริการ

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