เซิร์ฟเวอร์ไม่ตอบสนองหลังจากการเชื่อมต่อ OpenSSL สำเร็จ


0

ฉันกำลังทดสอบการเชื่อมต่อเซิร์ฟเวอร์โดยใช้ OpenSSL ด้วยผลลัพธ์ที่แตกต่างกัน

  • เซิร์ฟเวอร์ A: การเชื่อมต่อสำเร็จเช่นเดียวกับการเข้าสู่ระบบของผู้ใช้และคำสั่งอื่น ๆ ที่ฉันคาดว่าจะทำงาน
  • เซิร์ฟเวอร์ B: การเชื่อมต่อสำเร็จ แต่เซิร์ฟเวอร์ไม่ตอบสนองเมื่อฉันพยายามส่งคำสั่ง ฉันไม่ได้รับข้อผิดพลาดหรือตัดการเชื่อมต่อ - เป็นเพียงบรรทัดว่างที่ฉันกด Enter หรือ ^ M

ลางสังหรณ์ของฉันคือการกำหนดค่าเซิร์ฟเวอร์ B ต้องมีการเข้ารหัสอักขระที่แตกต่างกันหรือบางอย่างและมันก็ไม่ได้รับรู้การกดแป้นพิมพ์ของฉัน แต่ฉันก็ดูเหมือนจะไม่มีประโยชน์ ... คำแนะนำใด ๆ ที่จะได้รับการชื่นชม!


คุณหมายถึง OpenSSH หรือเปล่า
UtahJarhead

ฉันเชื่อมต่อโดยใช้ openssl s_client -connect server.com:portแทน telnet
Dan B

คำตอบ:


1

ฉันสมมติว่า @UtahJarhead เป็นคุณหมายถึง OpenSSH

ฉันไม่ค่อยรู้เรื่องการเข้ารหัสมากนัก แต่ฉันก็ต้องประหลาดใจเมื่อได้เรียนรู้ว่าสิ่งต่าง ๆ เช่นสเปซช่องว่างโมฆะ ฯลฯ - สิ่ง ASCII ต่ำสุดแตกต่าง

  1. ตรวจสอบเชลล์ของผู้ใช้เซิร์ฟเวอร์ B . คุณสามารถเข้าถึงเครื่องนั้นและ su ถึงผู้ใช้คนนั้น? ปัญหาเดียวกันนี้เกิดขึ้นหรือไม่?
  2. ตรวจสอบการกำหนดค่า sshd . มีตัวเลือกคาวบ้างไหม ChrootDirectory, ForceCommandฯลฯ กระจาย sshd configs จากเซิร์ฟเวอร์ทั้งสองและดูว่ามีอะไรน่าสงสัย
  3. ตรวจแก้จุดบกพร่อง . เชื่อมต่อกับเซิร์ฟเวอร์ B เช่น ssh -vvv user@serverb และมองหาเอาต์พุต sus การจัดสรรเปลือกของฉันดูเหมือนว่า:

    debug2: channel 1: request shell confirm 1
    debug2: callback done
    debug2: channel 1: open confirm rwindow 0 rmax 32768
    debug2: channel_input_status_confirm: type 99 id 1
    debug2: PTY allocation request accepted on channel 1
    debug2: channel 1: rcvd adjust 2097152
    debug2: channel_input_status_confirm: type 99 id 1
    debug2: shell request accepted on channel 1
    

    นี่คือบรรทัดสุดท้ายของการดีบักเอาต์พุตสำหรับฉัน

ความล้มเหลวใด ๆ - สิ่งที่ชัดเจนคือสิ่งที่แตกต่างระหว่างเครื่องเหล่านี้?


ฉันไม่มีสิทธิ์เข้าถึง SSH ไปยังเซิร์ฟเวอร์ B - ฉันกำลังเชื่อมต่อกับลูกค้า openssl s_client -connect แทน telnet เนื่องจากเซิร์ฟเวอร์ต้องการการเชื่อมต่อที่ปลอดภัย
Dan B

SSH ใดที่สามารถให้ได้
UtahJarhead

1

ปรากฎว่าการสงสัยครั้งแรกของฉันถูกต้อง ... เซิร์ฟเวอร์ไม่ยอมรับคำสั่ง Enter ของฉัน กำลังเพิ่ม -crlf ธงดูแลมัน:

openssl s_client -connect server:port -crlf

จากสิ่งที่ฉันได้อ่านสิ่งนี้บังคับให้เครื่องมือ s_client ส่ง CR/LF เมื่อคุณกด Enter ซึ่งจำเป็นสำหรับการอ่านเซิร์ฟเวอร์ที่ใช้ Windows เป็นไปได้ว่าเซิร์ฟเวอร์ A นั้นใช้งานได้เพราะเป็นเซิร์ฟเวอร์ * NIX และเซิร์ฟเวอร์ B เป็นเซิร์ฟเวอร์ Windows


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