ไม่สามารถสร้างอุโมงค์ Postgres pgAdmin SSH บน Ubuntu ได้

ฉันมีหยดบน DigitalCloud กับ Ubuntu 14.04 และ PostgreSQL 9.3 บนเครื่องท้องถิ่นฉันมีการกำหนดค่าเดียวกัน

การเชื่อมต่อ ssh ของฉันใช้งานได้ ดังนั้นจึงไม่มีปัญหา ต้องอยู่ที่ไหนสักแห่งในการเชื่อมต่อ Postgres หรือการตั้งค่าสภาพแวดล้อมของฉัน

ดังนั้นสิ่งที่ฉันได้ทำไปแล้วบนเซิร์ฟเวอร์คือ:

  • เปลี่ยนพอร์ตการฟังใน /etc/ssh/sshd_config

    พอร์ต 4321

  • เปิดใช้งานการเชื่อมต่อระยะไกลใน /etc/postgresql/9.3/main/pg_hba.conf

    โฮสต์ทั้งหมด 0.0.0.0/0 md5

  • เพิ่มที่อยู่การฟังใน /etc/postgresql/9.3/main/postgresql.conf

    Listen_addresses = '*'

และนี่คือการตั้งค่าการเชื่อมต่อท้องถิ่นของฉัน:

นี่คือหน้าจอแท็บคุณสมบัติของฉัน

นี่คือหน้าจอแท็บ SSH Tunnel ของฉัน

ฉันใช้ไฟล์ id_rsa.pub เดียวกัน (และเท่านั้น) ที่ฉันเคยสร้างการเชื่อมต่อ ssh มาก่อน ซึ่งกำลังทำงานอยู่ และนี่คือข้อผิดพลาดที่ฉันได้รับเมื่อพยายามเชื่อมต่อ:

ข้อผิดพลาด SSH: การตรวจสอบสิทธิ์โดยระบุไฟล์ล้มเหลวด้วยรหัสข้อผิดพลาด -16 [ไม่สามารถแยกคีย์สาธารณะจากไฟล์คีย์ส่วนตัว: วลีรหัสผ่านไม่ถูกต้องหรือรูปแบบไฟล์คีย์ส่วนตัวไม่ถูกต้อง/ไม่รู้จัก]

รหัสผ่านของฉันถูกตั้งค่าให้ว่างเปล่า

หากฉันพยายามเชื่อมต่อโดยไม่มีอุโมงค์ SSH แสดงว่ามีข้อผิดพลาดอื่น:

เกิดข้อผิดพลาดในการเชื่อมต่อกับเซิร์ฟเวอร์: ข้อผิดพลาด SSL: โปรโตคอลที่ไม่รู้จักต้องการคำขอตรวจสอบสิทธิ์จากเซิร์ฟเวอร์ แต่ได้รับ S

ฉันเป็นมือใหม่และอาจพลาดบางสิ่งที่สำคัญไป บอกฉันหากคุณต้องการให้ฉันให้ข้อมูลอื่น ๆ เกี่ยวกับเรื่องนี้

แก้ไข 1:

หากฉันใช้ไฟล์ id_rsa ที่ถูกต้อง (ไม่มี pub) ฉันจะได้รับข้อผิดพลาดเดียวกันนี้:

เกิดข้อผิดพลาดในการเชื่อมต่อกับเซิร์ฟเวอร์: ข้อผิดพลาด SSL: โปรโตคอลที่ไม่รู้จักต้องการคำขอตรวจสอบสิทธิ์จากเซิร์ฟเวอร์ แต่ได้รับ S


person Seybo Glaux    schedule 06.05.2016    source แหล่งที่มา


คำตอบ (1)


ฉันใช้ไฟล์ id_rsa.pub เดียวกัน (และเท่านั้น)

ปัญหาแรกคือว่านี่เป็นไฟล์ที่ไม่ถูกต้อง ดูว่าคุณมีไฟล์อยู่ในตำแหน่งเดียวกันชื่อ "id_rsa" โดยไม่มีนามสกุล ".pub" หรือไม่ นั่นคือไฟล์ที่คุณควรใช้เป็นไฟล์ระบุตัวตน

คีย์ RSA ssh มีสองไฟล์: "id_rsa" มีคีย์ส่วนตัว ในขณะที่ "id_rsa.pub" มีคีย์สาธารณะ id_rsa.pub ได้รับการติดตั้งบนเซิร์ฟเวอร์ที่คุณกำลังเชื่อมต่ออยู่ ในขณะที่ id_rsa ถูกใช้โดยไคลเอนต์ที่กำลังทำการเชื่อมต่อกับเซิร์ฟเวอร์

(แน่นอนว่าไฟล์คีย์สามารถตั้งชื่อเป็นอย่างอื่นที่ไม่ใช่ "id_rsa" ได้ ประเด็นก็คือคีย์ส่วนตัวอยู่ใน foobar ในขณะที่คีย์สาธารณะอยู่ใน foobar.pub .)

หากคุณไม่มีไฟล์ id_rsa คุณควรสร้างคีย์ใหม่และเก็บทั้งสองไฟล์ในครั้งนี้

ปัญหาที่สองคือคุณมีพอร์ตที่ไม่ถูกต้องบนแท็บ คุณสมบัติ หมายเลขพอร์ตบนแท็บคุณสมบัติคือพอร์ตที่เซิร์ฟเวอร์ PG กำลังทำงานอยู่ คุณควรตั้งค่านี้เป็น 5432 หรือพอร์ตใดก็ตามที่เซิร์ฟเวอร์ของคุณกำลังรับฟังอยู่ ดูเหมือนว่าคุณควรตั้งค่า "โฮสต์" บนแท็บคุณสมบัติเป็น "localhost" ด้วย แต่ฉันไม่รู้ว่าจำเป็นหรือไม่

เกิดข้อผิดพลาดในการเชื่อมต่อกับเซิร์ฟเวอร์: ข้อผิดพลาด SSL: โปรโตคอลที่ไม่รู้จักต้องการคำขอตรวจสอบสิทธิ์จากเซิร์ฟเวอร์ แต่ได้รับ S

สิ่งที่เกิดขึ้นตอนนี้คือการเชื่อมต่อ PG แบบทันเนลของคุณไปที่พอร์ต 4321 บนโฮสต์ระยะไกล ซึ่งก็คือเซิร์ฟเวอร์ SSH มันเกิดขึ้นว่าสิ่งแรกที่เซิร์ฟเวอร์ SSH ส่งไปยังไคลเอนต์ใหม่คือสตริงเวอร์ชันซึ่งดูเหมือนว่า "SSH-2.0-OpenSSH_6.9" ฉันไม่รู้โปรโตคอล PG แต่เห็นได้ชัดว่าไคลเอนต์ของคุณอ่าน "S" ใน สตริง SSH และรู้ทันทีว่าไม่ได้เชื่อมต่อกับเซิร์ฟเวอร์ PG

person Kenster    schedule 06.05.2016
comment
ใช่ ฉันลองอันนี้แล้วเหมือนกัน แต่มันทำให้ฉันมีข้อผิดพลาดเดียวกัน: ข้อผิดพลาดในการเชื่อมต่อกับเซิร์ฟเวอร์: ข้อผิดพลาด SSL: โปรโตคอลที่ไม่รู้จักคาดว่าจะร้องขอการรับรองความถูกต้องจากเซิร์ฟเวอร์ แต่ได้รับ S - person Seybo Glaux; 07.05.2016
comment
และอาจช่วยได้: ถ้าฉันเปลี่ยนชื่อผู้ใช้เป็นชื่อที่ไม่มีอยู่จริง มันทำให้ฉันมีข้อผิดพลาดนี้ ข้อผิดพลาด SSH: การรับรองความถูกต้องด้วยไฟล์ข้อมูลระบุตัวตนล้มเหลวด้วยรหัสข้อผิดพลาด -18 [ชื่อผู้ใช้/ชุดค่าผสม PublicKey ไม่ถูกต้อง] - person Seybo Glaux; 07.05.2016
comment
เพิ่งพบว่า Postgres ในพื้นที่ของฉันและเซิร์ฟเวอร์มีเวอร์ชันที่แตกต่างกัน (9.5 และ 9.3) และคิดว่าอาจทำให้เกิดปัญหาได้ ดังนั้นฉันจึงอัปเกรดเวอร์ชันเซิร์ฟเวอร์เป็น 9.5.2 เดิมแล้วรีสตาร์ท แต่ปัญหายังคงอยู่ :( - person Seybo Glaux; 07.05.2016
comment
@SeyboGlaux เพิ่มส่วนเกี่ยวกับหมายเลขพอร์ต ฉันจะทราบว่าฉันไม่ได้ใช้ postgressql หรือ pgadmin ด้วยตัวเอง หากคุณยังคงประสบปัญหาหลังจากนี้ ฉันอาจช่วยได้ไม่มากนัก - person Kenster; 07.05.2016