C-Sharp MySql tunnel über SSH funktioniert nicht

Status
Für weitere Antworten geschlossen.

fly83

Benutzer
Mitglied seit
01. Okt 2010
Beiträge
1
Punkte für Reaktionen
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