Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#发送一个简单的SSH命令_C#_Ssh - Fatal编程技术网

C#发送一个简单的SSH命令

C#发送一个简单的SSH命令,c#,ssh,C#,Ssh,我是一个年轻的学生,收到了本周的家庭作业。这对我来说非常困难,因为我必须创建一个程序,该程序能够连接到SSH服务器并发送命令“etc/init.d/networking restart” 我应该用C语言编写这个应用程序,而且我对它还很陌生(只是从一些学校的课程中学到了一些东西)。我还应该创建一个GUI 我了解C#(循环、if等)的基本知识 我已经创建了GUI、菜单、按钮和日志列表框。 GUI=3个文本框(ip、用户名、密码)和一个连接按钮 我正在用微软vistualstudio编程 我的问题

我是一个年轻的学生,收到了本周的家庭作业。这对我来说非常困难,因为我必须创建一个程序,该程序能够连接到SSH服务器并发送命令“etc/init.d/networking restart”

我应该用C语言编写这个应用程序,而且我对它还很陌生(只是从一些学校的课程中学到了一些东西)。我还应该创建一个GUI

我了解C#(循环、if等)的基本知识

我已经创建了GUI、菜单、按钮和日志列表框。 GUI=3个文本框(ip、用户名、密码)和一个连接按钮

我正在用微软vistualstudio编程


我的问题是:如何建立到服务器的SSH连接?

SharpSSH应该完成这项工作。

我不久前在一个项目中使用过,对此非常满意。它还附带了一个很好的文档,其中有很多关于如何使用它的示例

仍然可以找到原始的软件包网站,包括文档(目前无法在GitHub上获得)

对于您的情况,代码应该是这样的

using (var client = new SshClient("hostnameOrIp", "username", "password"))
{
    client.Connect();
    client.RunCommand("etc/init.d/networking restart");
    client.Disconnect();
}

//对于.Net核心使用SSH.Net时,我在使用SSH.Net时遇到了很多问题,而且它已被弃用。我尝试了其他一些库,甚至是其他编程语言。但我找到了一个很好的选择。

您是否看到,如果您能分享您为此所做的实际尝试,我们也会感到惊讶……您好,谢谢您的快速回答,JacobSeleznev,谢谢您的网站。但是我买不起这个产品@LolCoder:D我已经在这里创建了一个GUI一张代码图片(好的^^^)@justinb138谢谢你的解决方案。我已经从下载页面下载了这个库。现在有一个小问题:我如何在我的程序中实现这个库?从这里开始:不支持多个连接:(Tamir SSH已被弃用。它使用旧的简易黑客协议。SSH.net是一个更新且更安全的解决方案。您在哪里找到了SSH.net示例?感谢您在他们的codeplex页面的Downloads下提供了“SshNet帮助”:。不是提供文档的最常见方式,但至少有。@Karl JohanSjögren,我已经下载了SSH.NET,如果我想从.NET调用这个特定的Unix文件
anly_load_int.sh
from.NET.。RunCommand看起来像什么?根据文件在目标机器上的位置,它应该是这样的
sh/path/to/anly\u load\u int.sh
@Karl JohanSjögren,谢谢。对于其他人,如果在查看.chm文件时看不到内容,请记住在文件管理器中右键单击它,并在属性中勾选“取消阻止”复选框。这对我来说很有效,因为我需要使用一个不是默认端口的端口。实际上,您应该在第1行的开头添加一个using。这样,您就不必记住在第5行进行处理,即使发生防止内存泄漏的错误,也会进行处理。
SshClient cSSH = new SshClient("192.168.10.144", 22, "root", "pacaritambo");
cSSH.Connect();
SshCommand x = cSSH.RunCommand("exec \"/var/lib/asterisk/bin/retrieve_conf\"");
cSSH.Disconnect();
cSSH.Dispose();