首页 > 解决方案 > 使用与 SSH.NET 建立的另一个连接来使用新的 ssh 连接

问题描述

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

到目前为止,我使用 putty (SSH) 连接到机器 A,然后当我登录时,我使用 SSH 连接到机器 B。

我正在尝试创建一个将在机器 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 建立的连接。

任何想法?

标签: c#sshssh.net

解决方案


推荐阅读