c# - 使用与 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 建立的连接。
任何想法?
解决方案
推荐阅读
- apache-kafka - 您如何在 Apache Kafka 中使用 AVRO 序列化处理嵌套的源数据?
- c++ - 在 C++ 中将函数分配给变量
- java - 为什么服务未在 AWS ECS Fargate 中读取 AWS Secrets Manager
- ssl - 将 SSL 配置迁移到 Elytron
- html - 从主页中删除课程
- r - 如何自动计算具有或不具有行名的表的行数和列数
- powershell - 如何使用 Powershell 脚本在 SharePoint 现代页面中创建嵌入 Web 部件和按钮 Web 部件
- flutter - Flutter - 更新 CustomScrollView 的滚动控制器
- c# - 通过 MSIX 包安装的应用程序“忘记”虚拟 LocalAppData 路径
- javascript - 隐藏没有价值的图表线