0

我想通过 SSH 通道连接到服务器上的 mysql 数据库。

我已经下载了这个SSH.Net库。

这是我尝试过的,我认为在建立安全连接后它会起作用。

我的 SSH 连接已建立,但未执行与数据库的正常连接。

所以请检查我的代码:

using (var client = new SshClient("cpanel****", "******", "******"))
          {
            client.Connect();
            con = new MySqlConnection(GetConnectionString());
            con.Open();
            cmd = new MySqlCommand(String.Format("insert into {0} values (null, ?Parname , ?Parname2, ?Parname3, ?Parname4, ?Parname5, ?Parname6, ?Parname7);", ConfigSettings.ReadSetting("main")), con);
            cmd.Parameters.Add("?Parname", MySqlDbType.Double).Value = Math.Round(deciLat, 5);
            // ... more parameters
            cmd.ExecuteNonQuery();
            client.Disconnect();
           }
4

1 回答 1

1

这是一个教程http://georgelantz.com/2007/09/10/access-mysql-through-ssh-tunnel-in-a-windows-net-application/听起来很合理。

基本思想是通过隧道(又名端口转发)建立 SSH 连接,然后将 MySQL 连接指向 localhost。

SSH 隧道将连接到 localhost:XX 重定向到 ssh 服务器端口:YY。所以你的端口 YY 将是 mysql 连接端口,在你的连接字符串中你将使用 localhost:XX。

您正在使用的 SSH 库似乎也支持端口转发,因此您也可以使用它。

于 2012-05-30T16:54:57.820 回答