Score:0

การรับ "การสร้างอุโมงค์ SSH ล้มเหลว: การเปิดล้มเหลว" จาก datagrip เมื่อทดสอบการเชื่อมต่อ

ธง ru

เมื่อพยายามเชื่อมต่อกับเซิร์ฟเวอร์ mysql ระยะไกลผ่าน ssh tunnel โดยใช้ datagrip บน windows 10 เป็นไคลเอ็นต์ ฉันได้รับ "SSH Tunnel Creation ล้มเหลว: เปิดล้มเหลว"

ฉันสามารถสร้างและเชื่อมต่อกับอุโมงค์ได้สำเร็จด้วย: ชื่อผู้ใช้ ssh@mysqlServer -L 22:remoteHost:3306.

ฉันใช้ datagrip เป็นตัวสาธิตหลักของปัญหา เนื่องจากให้ข้อมูลการดีบักบางอย่างเมื่อทดสอบการเชื่อมต่อ แต่ฉันได้ลองกับ dbeaver และ tableplus แล้ว ทั้งคู่ไม่สามารถเชื่อมต่อได้

ผู้ใช้รายอื่นในองค์กรของฉันสามารถเชื่อมต่อกับเซิร์ฟเวอร์ mysql ระยะไกลได้บนเครื่อง macos

บันทึกจาก datagrip:

2022-04-18 14:58:14,313 [ 57564] ข้อมูล - n.s.s.t.r.JCERandom - การสร้าง SecureRandom ใหม่
2022-04-18 14:58:14,411 [ 57662] ข้อมูล - #c.i.s.i.s.sshj - สตริงข้อมูลประจำตัวไคลเอนต์: SSH-2.0-IntelliJ__DataGrip_DB-221.5080.224__SSHJ_0.32.0_idea2
2022-04-18 14:58:14,508 [ 57759] ข้อมูล - #c.i.s.i.s.sshj - สตริงข้อมูลประจำตัวเซิร์ฟเวอร์: SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.8
2022-04-18 14:58:15,258 [ 58509] INFO - #c.i.s.i.s.sshj - บันทึกการตรวจสอบความถูกต้อง: การเชื่อมต่อ SSH กับ username@mysqlServer:22
 * ด้วยการตั้งค่าการเชื่อมต่อที่เปลี่ยนแปลง:
  - authMethods: PublicKey(privateKeys=[C:\Users\spenc\.ssh\id_rsa, C:\Users\spenc\.ssh\id_dsa, C:\Users\spenc\.ssh\id_ecdsa, C:\Users\spenc \.ssh\id_ed25519, C:\Users\spenc\.ssh\id_xmss], ตัวแทน=NO), รหัสผ่าน, KeyboardInteractive
  - ผู้ใช้: ชื่อผู้ใช้
 * เชื่อมต่อแล้ว: ซ็อกเก็ต[addr=mysqlServer/mysqlServer,port=22,localport=63766]
 * การเริ่มต้นการรับรองความถูกต้อง
  => ไม่มี (ล้มเหลว วิธีการรับรองความถูกต้องใหม่ที่เซิร์ฟเวอร์อนุญาต: publickey)
  => คีย์สาธารณะ C:\Users\spenc\.ssh\id_rsa (สำเร็จ)
2022-04-18 14:58:15,270 [ 58521] INFO - #c.i.d.d.DatabaseSshTunnelEstablisher - สร้างอุโมงค์ SSH: 63768:remoteHost:3306
2022-04-18 14:58:15,317 [ 58568] ข้อมูล - #c.i.e.r.RemoteProcessSupport - "C:\Program Files\JetBrains\DataGrip 2022.1.1\jbr\bin\java" -Djava.rmi.server.hostname=127.0 0.1 -Duser.timezone=UTC -Xmx750m -Xms128m -Dfile.encoding=UTF-8 -classpath "C:\Program Files\JetBrains\DataGrip 2022.1.1\lib\util_rt.jar; C:\Program Files\JetBrains\DataGrip 2022.1.1\lib\util.jar;C:\Program Files\JetBrains\DataGrip 2022.1.1\lib\groovy.jar;C:\Program Files\JetBrains\DataGrip 2022.1.1\plugins\DatabaseTools\lib\jdbc- console.jar;C:\Users\spenc\AppData\Roaming\JetBrains\DataGrip2022.1\jdbc-drivers\MySQL ConnectorJ\8.0.25\mysql-connector-java-8.0.25.jar" com.intellij.database remote.RemoteJdbcServer com.mysql.cj.jdbc.Driver
2022-04-18 14:58:15,705 [ 58956] ข้อมูล - #c.i.e.r.RemoteProcessSupport - Port/ServicesPort/ID: 58696/63770/RemoteDriverImpld6de775c
2022-04-18 14:58:15,713 [ 58964] ข้อมูล - #c.i.e.r.RemoteProcessSupport - 
2022-04-18 14:58:15,772 [ 59023] ข้อมูล - #c.i.d.DatabaseConnectionEstablisher - กำลังเชื่อมต่อกับ: jdbc:mysql://remoteHost:3306/dbName
2022-04-18 14:58:15,774 [ 59025] INFO - #c.i.d.d.DatabaseConnectionEstablisher - ผู้ให้บริการตรวจสอบสิทธิ์: user-pass
2022-04-18 14:58:15,776 [ 59027] INFO - #c.i.d.d.DatabaseCredentialsAuthProvider - กำลังเชื่อมต่อเป็น: ชื่อผู้ใช้
2022-04-18 14:58:15,778 [ 59029] ข้อมูล - #c.i.d.d.DatabaseConnectionEstablisher - กำลังเชื่อมต่อกับ (เขียนใหม่): jdbc:mysql://localhost:63768/dbName
2022-04-18 14:58:15,987 [ 59238] WARN - #c.i.s.i.s.sshj - <<chan#0 / open>> ตื่นขึ้นมา: การเปิดช่อง `direct-tcpip` ล้มเหลว: การเปิดล้มเหลว
2022-04-18 14:58:15,989 [ 59240] INFO - #c.i.s.i.s.sshj - ข้อผิดพลาดใน `SSHJ local tunnel for SshjSshConnection(username@mysqlServer)@82260ee: Local client /127.0.0.1:63774 ==> localhost เซิร์ฟเวอร์ภายใน: 63768 ==> เซิร์ฟเวอร์ระยะไกล remoteHost:3306`: net.schmizz.sshj.connection.channel.OpenFailException: เปิดล้มเหลว
2022-04-18 14:58:16,016 [ 59267] WARN - #c.i.d.d.BaseDatabaseErrorHandler$IOErrorInfo - ไม่สามารถอ่านการตอบสนองจากเซิร์ฟเวอร์ คาดว่าจะอ่าน 4 ไบต์ อ่าน 0 ไบต์ก่อนที่การเชื่อมต่อจะขาดหายไปโดยไม่คาดคิด
java.io.EOFException: ไม่สามารถอ่านการตอบสนองจากเซิร์ฟเวอร์ คาดว่าจะอ่าน 4 ไบต์ อ่าน 0 ไบต์ก่อนที่การเชื่อมต่อจะขาดหายไปโดยไม่คาดคิด
    ที่ com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67)
    ที่ com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63)
    ที่ com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45)
    ที่ com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:540)
    ที่ com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities (NativeProtocol.java:498)
    ที่ com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:385)
    ที่ com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1351)
    ที่ com.mysql.cj.NativeSession.connect(NativeSession.java:157)
    ที่ com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:953)
    ที่ com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:823)
    ที่ com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:453)
    ที่ com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246)
    ที่ com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198)
    ที่ com.intellij.database.remote.jdbc.helpers.JdbcHelperImpl.connect(JdbcHelperImpl.java:639)
    ที่ com.intellij.database.remote.jdbc.helpers.MysqlBaseJdbcHelper.connect(MysqlBaseJdbcHelper.java:244)
    ที่ com.intellij.database.remote.jdbc.impl.RemoteDriverImpl.connect(RemoteDriverImpl.java:55)
    ที่ java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (เมธอดเนทีฟ)
    ที่ java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    ที่ java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    ที่ java.base/java.lang.reflect.Method.invoke(Method.java:566)
    ที่ java.rmi/sun.rmi.server.UnicastServerRef.dispatch (UnicastServerRef.java:359)
    ที่ java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200)
    ที่ java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197)
    ที่ java.base/java.security.AccessController.doPrivileged (Native Method)
    ที่ java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196)
    ที่ java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages (TCPTransport.java:562)
    ที่ java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796)
    ที่ java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677)
    ที่ java.base/java.security.AccessController.doPrivileged (Native Method)
    ที่ java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676)
    ที่ java.base/java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1128)
    ที่ java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    ที่ java.base/java.lang.Thread.run(Thread.java:829)
    ระงับ: com.intellij.database.util.AsyncTask$Frame$FrameData: ข้อมูลเฟรม Async: ทดสอบการเชื่อมต่อ -> เตรียมการเชื่อมต่อ -> สร้างการเชื่อมต่อฐานข้อมูล -> รับข้อมูลรับรองฐานข้อมูล -> ทำการเชื่อมต่อฐานข้อมูล
2022-04-18 14:58:16,019 [ 59270] ข้อมูล - #c.i.e.r.RemoteProcessSupport - สิ้นสุด: 127.0.0.1:58696/RemoteDriverImpld6de775c
2022-04-18 14:58:16,054 [ 59305] INFO - #c.i.e.r.RemoteProcessSupport - กระบวนการเสร็จสิ้นด้วยรหัสออก -1

อัปเดต: ฉันลองใช้ "MySQL Workbench" สำหรับ Windows และใช้งานได้ทันทีอย่างลึกลับ ฉันลองใช้ไคลเอ็นต์รายอื่นอีกครั้ง และไม่มีไคลเอนต์ใดเชื่อมต่อสำเร็จเลย ฉันไม่ได้เพิ่มสิ่งนี้เป็นคำตอบเนื่องจากเป็นเพียงวิธีแก้ปัญหาและไม่ได้แก้ไขหรือให้ความกระจ่างแก่ปัญหาดั้งเดิม

โพสต์คำตอบ

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