SSH.NET中的MySQL端口涉嫌访问-试图以其访问权限禁止的方式访问套接字

问题描述 投票:2回答:1

在我的VS上安装了Plesk。此后,我无法设置SSH隧道来从其他服务器数据库获取数据。使用带有以下代码的SSH.NET。 (此代码在本地有效)。配置为允许Plesk防火墙中的端口3306通信。关于如何解决此问题的任何建议?

错误:

[SocketException(0x271d):试图访问计算机中的套接字访问权限禁止的方式]

代码:

DataTable dt = new DataTable();
string IP = "ssh.xxxxxxxx.xxx";
string Username = "xxxxxxxxxx";
string password = "xxxxxxxxxx";
var connInfo = new Renci.SshNet.PasswordConnectionInfo(IP, Username, password);
using (var sshClient = new Renci.SshNet.SshClient(connInfo))
{
    sshClient.Connect();

    if (sshClient.IsConnected)
    {
        Renci.SshNet.ForwardedPortLocal port =
            new Renci.SshNet.ForwardedPortLocal("127.0.0.1", 3306, "xxxxxxxx", 3306);
        sshClient.AddForwardedPort(port);
        port.Start();
        using (MySqlConnection con = new MySqlConnection("SERVER=127.0.0.1;PORT=3306;UID=xxxxxx;PASSWORD=xxxxxxx;DATABASE=xxxxxxx; convert zero datetime=True"))
        {
            string tmpsql = "Select fname,lname,username FROM tbluser Where id=@id";

            using (MySqlCommand cmd = new MySqlCommand(tmpsql, con))
            {
                MySqlDataAdapter da = new MySqlDataAdapter(cmd);
                cmd.Parameters.AddWithValue("id", MySqlDbType.Int16).Value = UserID;
                da.Fill(dt);
            }
        }
    }
    sshClient.Disconnect();
}
c# mysql ssh portforwarding ssh.net
1个回答
2
投票

您尝试转发的本地端口很可能已被另一个应用程序(例如本地MySQL数据库服务器)使用。

© www.soinside.com 2019 - 2024. All rights reserved.