it-swarm.com.de

DBeaver: Verbindung zu einem PostgreSQL-Datenbankserver über SSH: Tunnel kann nicht initialisiert werden, Authentifizierung fehlgeschlagen

Ich versuche, DBeaver zu verwenden, um über SSH eine Verbindung zu einem PostgreSQL-Datenbankserver herzustellen:

can't initialize tunnel
cannot establish tunnel
com.jcraft.jsch.JSchException: auth fail

(enter image description here

Ich bin sicher, dass der SSH-Server einwandfrei funktioniert. Ich schaffe es, über denselben SSH-Server mit pgAdmin 3 und RazorSQL eine Verbindung zu demselben PostgreSQL-Datenbankserver herzustellen. Ich habe die IP, den Benutzernamen und das Passwort überprüft, sie sind korrekt. Ich habe alle Firewalls deaktiviert. Was könnte das Problem sein?

Meine Einstellungen:

(enter image description here

(enter image description here

Ich verwende die tragbare Version DBeaver 3.7.3 x64 mit Windows 7 SP1 x64 Ultimate.

Das Fehlerprotokollfenster protokolliert den Fehler nicht, daher habe ich dort keine weiteren Informationen.

7

Ich habe DBweaver auf Kubuntu ausprobiert und hatte das gleiche Problem. Es sieht so aus, als ob das Problem in der Tatsache liegt, dass die Authentizität des SSH-Servers zuvor nicht überprüft wurde und DBweaver nicht in der Lage ist, die richtige Fehlermeldung (z. B. Host key verification failed.) und beschuldigt stattdessen irreführend einen Authentifizierungsfehler.

Ich habe das Problem bei Kubuntu wie folgt behoben:

  1. Deaktivieren Sie den SSH-Tunnel:

(enter image description here

  1. In der Shell ausführen Sudo apt-get install -y autossh

  2. Fügen Sie den Befehl Shell in Ihrer Verbindung in DBeaver hinzu:

    autossh -f -N -L 5432:localhost:5432 [email protected]_server_ip
    

(enter image description here

  1. Wenn Sie zu diesem Zeitpunkt versuchen, eine Verbindung herzustellen, haben Sie das gleiche com.jcraft.jsch.JSchException: auth fail Fehlermeldung. Gehen Sie zur Shell und führen Sie den folgenden Befehl aus:

    ssh -f -N -L 5432:localhost:5432 [email protected]_server_ip
    

    es wird ausgegeben:

    The authenticity of Host 'ssh_server_hostname (ssh_server_ip)' can't be established.
    ECDSA key fingerprint is 29:13:b5:cb:99:21:b2:18:f1:11:aa:12:54:c2:88:9a.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added 'ssh_server_hostname,ssh_server_ip' (ECDSA) to the list of known hosts.
    Password: 
    

    Gehen Sie zurück zu DBeaver und versuchen Sie, eine Verbindung herzustellen. Das sollte funktionieren. Ich weiß immer noch nicht, warum ich autossh anstelle der Registerkarte SSH-Tunnel in DBeaver verwenden soll.

4