Score:0

เซิร์ฟเวอร์ SSH ปฏิเสธการเชื่อมต่อหลายรายการจากไคลเอนต์เดียวกัน

ธง lk

ฉันมีเซิร์ฟเวอร์ opensh อย่างง่ายที่ทำงานในคอนเทนเนอร์ Alpine Linux 3.15 Docker และไคลเอนต์ที่ทำงานบนคอนเทนเนอร์ Docker อื่น (เซิร์ฟเวอร์ Alpine รุ่นเดียวกัน) ที่รันเซิร์ฟเวอร์ X พร้อม dwm

ลูกค้าสามารถเปิดแอปพลิเคชันกราฟิก (เซนต์) ผ่านการส่งต่อ X11 จากเซิร์ฟเวอร์ไปยังจอแสดงผลไคลเอนต์ ปัญหาคือฉันสามารถเปิดอินสแตนซ์เดียวของ เซนต์ ก่อนได้รับข้อผิดพลาดต่อไปนี้:

ssh: เชื่อมต่อกับโฮสต์ 172.17.0.2 พอร์ต 22: การเชื่อมต่อถูกปฏิเสธ

บันทึกฝั่งเซิร์ฟเวอร์:

เซสชันเริ่มต้น: คำสั่งบน pts/1 สำหรับไคลเอ็นต์จากพอร์ต 172.17.0.3 34060 id 0
debug1: การตั้งค่าการควบคุม tty โดยใช้ TIOCSCTTY
debug1: ร้องขอการเชื่อมต่อ X11
debug1: ช่อง 3: ใหม่ [การเชื่อมต่อ X11 จากพอร์ต 172.17.0.2 35028]
debug1: ได้รับ SIGCHLD
debug1: session_by_pid: pid 9
debug1: session_exit_message: เซสชัน 0 ช่อง 0 pid 9
debug1: session_exit_message: ปล่อยช่อง 0
debug1: session_by_tty: เซสชั่น 0 tty /dev/pts/1
debug1: session_pty_cleanup2: เซสชัน 0 ปล่อย /dev/pts/1
debug1: ช่อง 3: ฟรี: การเชื่อมต่อ X11 จากพอร์ต 172.17.0.2 35028, nchannels 4
debug1: session_by_channel: เซสชั่น 0 ช่อง 0
debug1: session_close_by_channel: ช่อง 0 ลูก 0
debug1: session_close_x11: แยก x11 ช่อง 1
debug1: session_close_x11: แยก x11 ช่อง 2
ปิดเซสชัน: ลูกค้าผู้ใช้จากพอร์ต 172.17.0.3 34060 id 0
debug1: ช่อง 0: ฟรี: เซสชันเซิร์ฟเวอร์, nchannels 3
debug1: ช่อง 1: ฟรี: ผู้ฟัง X11 inet, nchannels 2
debug1: ช่อง 2: ฟรี: ผู้ฟัง X11 inet, nchannels 1
ได้รับการตัดการเชื่อมต่อจากพอร์ต 172.17.0.3 34060:11: ถูกตัดการเชื่อมต่อโดยผู้ใช้
ตัดการเชื่อมต่อจากไคลเอนต์ผู้ใช้ 172.17.0.3 พอร์ต 34060
debug1: do_cleanup
debug1: do_cleanup

บันทึกฝั่งไคลเอ็นต์:

วิ่ง /usr/bin/xauth ลบ ssh:10.0
/usr/bin/xauth เพิ่ม ssh:10.0 MIT-MAGIC-COOKIE-1 49907415ff518044198f6f0075f270fe
debug1: client_input_channel_open: ctype x11 rchan 3 ชนะ 65536 สูงสุด 16384
debug1: client_request_x11: คำขอจาก 172.17.0.2 35028
debug1: ช่อง 1: ใหม่ [x11]
debug1: ยืนยัน x11
OpenSSH_8.8p1, OpenSSL 1.1.1l 24 ส.ค. 2564
debug1: อ่านข้อมูลการกำหนดค่า /etc/ssh/ssh_config
debug1: ผู้ให้บริการ Authenticator $SSH_SK_PROVIDER ไม่สามารถแก้ไขได้ ปิดการใช้งาน
debug1: กำลังเชื่อมต่อกับพอร์ต 172.17.0.2 [172.17.0.2] 22
debug1: เชื่อมต่อกับที่อยู่ 172.17.0.2 พอร์ต 22: การเชื่อมต่อถูกปฏิเสธ
ssh: เชื่อมต่อกับโฮสต์ 172.17.0.2 พอร์ต 22: การเชื่อมต่อถูกปฏิเสธ
xinit: การเชื่อมต่อกับเซิร์ฟเวอร์ X ขาดหายไป

รอให้ X server ปิด debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: ช่อง 0 rtype eow@openssh.com ตอบกลับ 0
debug1: ช่อง 1: ฟรี: x11, nchannels 2
การเชื่อมต่อ X กับ ssh:10.0 เสีย (การฆ่าหรือการปิดเซิร์ฟเวอร์อย่างชัดเจน)
debug1: ช่อง 0: ฟรี: เซสชันไคลเอ็นต์, nchannels 1
ปิดการเชื่อมต่อกับ 172.17.0.2
ถ่ายโอน: ส่ง 91292 ได้รับ 92728 ไบต์ใน 3.1 วินาที
ไบต์ต่อวินาที: ส่ง 29350.8 ได้รับ 29812.5
debug1: ออกจากสถานะ 1
(II) ยุติเซิร์ฟเวอร์สำเร็จ (0) กำลังปิดล็อกไฟล์

deallocvt: ไม่สามารถเปิดคอนโซลได้
Score:1
ธง lk

ตัวเลือก "-d" ของsshd คำสั่งที่ใช้สำหรับการดีบัก มันมีผลนี้:

โหมดดีบัก เซิร์ฟเวอร์ส่งเอาต์พุตการดีบักแบบละเอียดไปยังข้อผิดพลาดมาตรฐาน และจะไม่ใส่ตัวเองในเบื้องหลัง เซิร์ฟเวอร์จะไม่แยก (2) และจะประมวลผลการเชื่อมต่อเดียวเท่านั้น ตัวเลือกนี้มีไว้สำหรับการดีบักเซิร์ฟเวอร์เท่านั้น ตัวเลือก -d หลายตัวจะเพิ่มระดับการดีบัก สูงสุดคือ 3

ขอบคุณ เคนสเตอร์ สำหรับเขา คำตอบ บน Unix & Linux StackExchange

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา