Mysql port forwarding

  • Themenstarter Themenstarter Hansel
  • Beginndatum Beginndatum
H

Hansel

Gast
Und zwar ich möchte mich auf einen mysql server über einen SSH Tunnel verbinden dazu nutze ich die Bibliothek JSch - Java Secure Channel. Ich kann mich zwar zu den server connecten jedoch das mit dem port forwarden funktioniert nicht wirklich :/

Mein Code:
Java:
            String sshHostname = hostNameSSH.getText();
            String sshPort = sshPortField.getText();
            String sshUsername = sshUsernameField.getText();
            String sshPass = new String(this.sshPassField.getPassword());
            JSch jsch=new JSch();
            Session session = jsch.getSession(sshUsername, sshHostname, Integer.parseInt(sshPort));
            session.setConfig("StrictHostKeyChecking", "no");
            if(sshAuthMethodBox.getSelectedIndex() == 1)
            {
                JTextField textField = this.fileChoosePanel.getTextField();
                String keyFile = textField.getText();
                String passphrase = new String(this.sshPassField.getPassword());
                jsch.addIdentity(keyFile, passphrase);
            }
            else
            {
                session.setPassword(sshPass);
            }
            session.connect();
            int lPort = Integer.parseInt(port);
            String rHost = sshHostname;
            int rPort = Integer.parseInt(port);
            int assinged_port = session.setPortForwardingL(lPort, rHost, rPort);
            System.out.println("localhost:"+assinged_port+" -> "+sshHostname+":"+rPort);

Die Daten werden einfach nicht weitergeleitet von z.b localhost:3306 auf mymsqlserver.com:3306 und ich komm einfach nicht drauf warum...

Ich habe auch schon testweise versucht einen forward von localhost:3306 auf httpserver:80 zu leiten, wurde aber auch keine Seite im Browser angezeigt wenn ich auf localhost:3306 ging :/

Hoffe es kann mir geholfen werden.
 
Kann natürlich an allen möglichen Ursachen liegen. Klappt denn der SSH Portforward in der Shell?
Code:
ssh -f -L 3306:mymsqlserver.com:3306 localhost sleep 10
Wenn nicht, erst mal mit
Code:
-vvv
checken. Das Portforwarding-Demo von JSch funktioniert bei mir.
 
Zuletzt bearbeitet:
Ich sollte vielleicht erwähnen das ich gerade an einem Windows Rechner sitze, habe das port forwarding also mit putty vorgenommen, scheint auch nicht zu funktionieren... :/
 
Ich hab das forwarden jetzt mal mit meinem linux rechner versucht und habe testweise mal von localhost:1234 auf myhttpserver:80 geforwarded als Nachricht bekam ich den Fehler:
"channel 3: open failed: administratively prohibited: open failed"
 
Du brauchst root-Rechte unter Linux um Server-Ports unter 1025 erstellen zu können
Hier nicht: Der Serverport ist auf localhost:1234. Wenn man dies hier als nicht-root absetzt
Code:
ssh -f -L 7777:www.google.de:80 localhost sleep 10
und im Browser
Code:
http://localhost:7777
aufruft, muss Google erscheinen.
"channel 3: open failed: administratively prohibited: open failed"
Ich vermute stark, daß in der sshd.conf
Code:
AllowTcpForwarding
Code:
false
ist, denn wenn ich mich recht erinnere, ist der Fehlerstring von sshd erzeugt.
 
Zuletzt bearbeitet:

Zurück
Oben