ค้นหาสาเหตุที่อุโมงค์ ssh ไม่ทำงาน


1

ฉันมีเซิร์ฟเวอร์ระยะไกลที่ฉันสามารถ SSH ได้โดยไม่มีปัญหา ฉันมี PostgreSQL (ps) ตั้งค่าบนเซิร์ฟเวอร์ระยะไกล (เรียกว่า 'enc') และเครื่องท้องถิ่นทั้งสองทำงานบน 5432 (ค่าเริ่มต้น) เซิร์ฟเวอร์ระยะไกลไม่อนุญาตให้มีการเชื่อมต่อจากการเชื่อมต่อภายนอก (เว็บเซิร์ฟเวอร์ท้องถิ่นไปที่มันโดยตรง)

ฉันกำลังพยายามตั้งค่าอุโมงค์ SSH เพื่อให้คำสั่งที่เรียกใช้บนเซิร์ฟเวอร์ ps ระยะไกลง่ายกว่าการคัดลอกไฟล์ข้ามเข้าสู่เซิร์ฟเวอร์และเรียกใช้ด้วยตนเองในตอนท้าย

ฉันได้ลองใช้คำสั่งต่อไปนี้แล้ว

ssh -N -L 5555:enc:5432 enc

อุโมงค์ปรากฏขึ้นเพื่อตั้งค่าอย่างถูกต้อง แต่เมื่อฉันพยายามเชื่อมต่อกับเครื่องระยะไกลด้วย

psql -p 5555

มันบอกว่ามันไม่ทำงาน

psql: could not connect to server: No such file or directory. Is the server running locally and accepting connections on Unix domain socket "/run/postgresql/.s.PGSQL.5555"?

นี่อาจเป็นปัญหากับการตั้งค่าในอุโมงค์หรือการอนุญาตผู้ใช้ที่ จำกัด (ฉันคิดว่าข้อผิดพลาดจะแตกต่างกันหากเป็นกรณีนี้)


นี่คือระบบปฏิบัติการอะไร
terdon

Linux โดยเฉพาะการเชื่อมต่อกับเดเบียนทั้งคู่กับเซิร์ฟเวอร์ openSSH
Doug Miller

คำตอบ:


1

ลองสิ่งนี้:

ssh -N -L 5555:enc:5432 localhost

แล้ว

lsof -i :5555

หากคุณไม่เห็นสิ่งใดที่นั่นเครื่องของคุณจะไม่ฟังอะไรเลย


ที่ดูเหมือนว่าจะทำงานได้ดี: SSH 5941 hyposaurus 4u IPv6 51,698 0t0 TCP localhost.localdomain: ส่วนบุคคลตัวแทน (ฟัง) SSH 5941 hyposaurus 5U IPv4 51,699 0t0 TCP localhost.localdomain: ส่วนบุคคลตัวแทน (ฟัง)
ดั๊กมิลเลอร์

และถ้าคุณทำงานบนเซิร์ฟเวอร์สุดท้ายncat -l -p 5432และในตอนท้ายของคุณncat <server> 5432มันทำงานด้วยหรือไม่
hashier

ไม่ได้จริงๆ บนเซิร์ฟเวอร์ (เวอร์ชั่นที่แตกต่างฉันคาดเดาว่าฉันต้องใช้ ncat -l 54322 ตั้งแต่ -l และ -p ไม่เข้ากันนั่นบอกว่ามีการใช้ที่อยู่แล้วเวอร์ชั่นในระบบบอกว่าเหมือนกัน
Doug Miller

Readign นี้freddebostrom.wordpress.com/2009/04/10/...ทำให้ฉันคิดว่าฉันควรใช้ SSH -N -L 5555: localhost: 5432 ENC แต่ที่ดูเหมือนจะเป็นจุดสิ้นสุดเดียวกันโดยไม่คำนึงดังนั้นฉันบิตสับสนมากขึ้น
Doug Miller

ทั้งสองควรทำงาน เมื่อคุณเชื่อมต่อกับ enc และทำที่นั่นคุณจะส่งต่อไปยัง localhost และเมื่อคุณเชื่อมต่อกับ localhost และทำไปข้างหน้าเพื่อเข้ารหัส ฉันได้รับข้อมูลจากhelp.ubuntu.com/community/SSH/OpenSSH/PortForwarding
hashier

1

กลับกลายเป็นว่าเขามีปัญหาก็ยิ่งสาย อุโมงค์ทำงานถูกต้องอย่างไรก็ตามจากนั้นพยายามเชื่อมต่อกับ postgres คุณต้องผ่าน -h (แม้จะเป็น localhost) มิฉะนั้นจะพยายามเชื่อมต่อผ่านซ็อกเก็ตยูนิกซ์ (ซึ่งอยู่ที่นั่นในข้อผิดพลาด) และไม่เกิน tcp (ซึ่ง เป็นวิธีเดียวที่มันจะทำงานกับอุโมงค์)


0

ชนิด

netstat -anp | grep LISTEN | grep "port_number"

ในเครื่องเซิร์ฟเวอร์ของคุณและค้นหาที่อยู่ IP ที่บริการกำลังทำงานอยู่

หากเป็นที่อยู่ IP ของเครื่องคุณต้องพูดถึงสิ่งนั้นในคำสั่ง ssh -L มิฉะนั้นหากเป็นที่อยู่ลูปแบ็ค (127.0.0.1 - ipv4 หรือ :: 1 - ipv6) จะกล่าวถึงสิ่งนั้นในคำสั่ง

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