加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

c# – 使用SSH.NET库与MySQL建立SSH连接

发布时间:2021-05-23 10:03:21 所属栏目:编程 来源:网络整理
导读:通过行使C#与MySQL数据库的SSH毗连,我得到了行使此库举办毗连的链接. 这是图书馆的LINK,你会发明这很风趣,由于你不必要手动打开SSH频道. 这是一个很是具体的库,有许多成果,但我想要做的很简朴.我只想在每次要写入数据库时??打开SSH通道. 当我在搜刮提供的源

通过行使C#与MySQL数据库的SSH毗连,我得到了行使此库举办毗连的链接.

这是图书馆的LINK,你会发明这很风趣,由于你不必要手动打开SSH频道.

这是一个很是具体的库,有许多成果,但我想要做的很简朴.我只想在每次要写入数据库时??打开SSH通道.

当我在搜刮提供的源代码时,我找到了可以在TestSshCommand.cs中找到的代码的这一部门,我想我可以将这部门用于我的毗连可是我必要你的辅佐才气使它事变,由于我有我的毗连字符串我不知道怎样毗连全部它.

码:

public void Test_Execute_SingleCommand()
        {
            using (var client = new SshClient(Resources.HOST,Resources.USERNAME,Resources.PASSWORD))
            {
                client.Connect();
                var result = ExecuteTestCommand(client);
                client.Disconnect();

                Assert.IsTrue(result);
            }

我毗连到非SSH通道的代码是:

con.ConnectionString = ConfigurationManager.ConnectionStrings["Con2"].ConnectionString;
            con.Open();
            cmd = new MySqlCommand("SELECT COUNT(*) FROM " + ConfigSettings.ReadSetting("main"),con);

     //...... more of the code

那么怎样将此代码与上面的代码团结起来,以便它可以先打开一个SSH通道然后执行我的查询?

我必要将我的代码放入毗连和断开毗连成果吗?

尚有一个设法我在引用中添加.dll文件,我必需说没有任何导入事变.那么有人可以下载库并实行这个简朴的代码来查察引用是否合用于您的项目,以便每小我私人(许多)可觉得他们将来的项目提供有用的办理方案?

编辑:

这是我往后实行做的代码.我的SSH毗连此刻只需将两者团结起来就可以了.

题目是我必要在我的电脑被骗地拥有一个数据库,而且必要毗连随处事器.因此,端口转发将不起浸染,由于somone在论坛上说我无法移植,而mysql已经有端口用于运行

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();
           }
最佳谜底 您必要行使SSH毗连配置端口转发…

根基上成立一个SSH毗连,侦听localhost上的端口3306并将其转发到MySQL数据库处事器……

在MySQL数据库的毗连字符串中,您必要将部门处事器= …变动为server = localhost,而SSH毗连必要转到MySQL数据库处事器的IP.

假如您无法转发端口3306,您可以行使任何您想要的端口可是您必要变动其它的端口=毗连字符串的一部门…有关具有差异端口的毗连字符串的示例,请参阅here …如故是SSH毗连方针3306但在这种环境下侦听localhost上的差异端口…

下面是一些带有源代码的事变示例(固然不行使SSH.NET,由于我不行使SSH.NET可是这应该让你开始行使IMO):

> http://georgelantz.com/2007/09/10/access-mysql-through-ssh-tunnel-in-a-windows-net-application/
> http://www.howtogeek.com/howto/ubuntu/access-your-mysql-server-remotely-over-ssh/(这只是怎样从呼吁行行使当地SSH客户端举办配置的一个选项)

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读