我想通过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();
}发布于 2012-05-31 00:54:58
这是一个听起来很合理的教程http://georgelantz.com/2007/09/10/access-mysql-through-ssh-tunnel-in-a-windows-net-application/。
基本思想是通过隧道(也称为端口转发)建立SSH连接,然后将您的MySQL连接指向本地主机。
SSH隧道将指向localhost:XX的连接重定向到ssh服务器端口:YY。因此,您的端口YY将是mysql连接端口,并且在您的连接字符串中将使用localhost:XX。
您正在使用的SSH库似乎也支持端口转发,因此您也可以让它正常工作。
https://stackoverflow.com/questions/10820467
复制相似问题