使用新的ssh连接,并与SSH.NET建立另一个连接

时间:2019-03-19 11:27:48

标签: c# ssh ssh.net

我有一台只能通过SSH进行访问的目标计算机,我没有直接连接,因此我需要通过另一台SSH机器进行连接。

直到现在,我使用腻子(SSH)连接到机器A,然后登录时对机器B进行SSH。

我正在尝试创建一个将在计算机B中运行脚本的应用程序,并且我使用SSH.NET,这是我的代码:

using (var client = new SshClient("hostMachineA", "usernameMachineA", "passwordMachineA"))
{
    client.Connect();
    try
    {
        if (client.IsConnected)
        {
            using (var terminalConnection = new SshClient("hostMachineB", "usernameMachineB", "passwordMachineB"))
            {
                terminalConnection.Connect();
                var command = terminalConnection.CreateCommand("ls -ltr");
                command.Execute();
                MessageBox.Show(command.Result);
                terminalConnection.Disconnect();
            }
        }

        client.Disconnect();
    }
    catch (Exception command)
    {
        MessageBox.Show(command.Message);
    }
}     

问题是我的应用程序连接到机器A,但无法与机器B建立连接,它尝试不使用已经从机器A建立的连接来创建新连接。

有什么主意吗?

0 个答案:

没有答案