C-Sharp MySql tunnel über SSH funktioniert nicht

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

fly83

Benutzer
Registriert
01. Okt. 2010
Beiträge
1
Reaktionspunkte
0
Punkte
0
Hallo,

ich wolltte mir selbst etwas zusammen programmieren für kleinere Anwendungen. Dazu habe ich schon eine DB Angelegt. Jetzt wolte ich erstmal die Datenbank verbindung testen. Dabei habe ich erste kleinere schwierigkeiten.

Der SSH Tunnel funst aber irgendwie will das Teil nicht so wie ich.

Rich (BBCode):
               string host = "192.168.0.100";
                string user = "admin";
                string pass = "xxx";
                int sshPort = 22;
                int rPort = 3306;
                int lPort = 3306;
                int port = 22;

                session = jsch.getSession(user, host, port);
                session.setHost(host);
                session.setPassword(pass);
                UserInfo ui = new MyUserInfo();
                session.setUserInfo(ui);
                session.connect();
 
                //Set port forwarding on the opened session
                session.setPortForwardingL(lPort, "localhost", rPort);
                if (session.isConnected())
                {
                    this.toolStripStatusLabel1.Text = "Connected";
                    try
                    {
                        string dbhost = "localhost";
                        string dbuser = "root";
                        string dbpass = "";
                        string dbdatabase = "testdb";
                        string connStr = String.Format("server={0};user id={1}; password={2}; database={3}; pooling=false", dbhost, dbuser, dbpass, dbdatabase);
 
                        // Create a MySql Connection
                        conn = new MySqlConnection(connStr);
                        conn.Open();
                        conn.ChangeDatabase(dbdatabase);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                        session.disconnect();
                        this.toolStripStatusLabel1.Text = "Ready";
                    }
                    finally
                    {
                        conn.Close();
                    }

Ich erhalte jedes mal "Access dinied for User "root@localhost" (no: Pass) ...

Was mache ich wo falsch?

Ah zu Info. Ich nutze auch teilweise Navicat Lite oder andere SQL Manager. Dort habe ich jeweilse die Verbindung durch SSH getuntelt. Laut anleitung sollte aber nach dem Tunneln als Host jeweils immer "localhost" eingetragen werden. Dies funktioniert bei mir aber nicht. Da erhalte ich jeweils die gleiche Fehlermeldung. Wenn ich allerdings die IP des Diskstation eintrage kann ich normal connecten.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat