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

luc*_*bas 48 c# ssh

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

我应该用C#编写这个应用程序,我对它很新(只是从一些学校的课程中学到的).我也应该创建一个GUI.

我理解C#的基础知识(循环,如果等等......).

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

ui的截图

代码截图

我正在使用Microsoft Vistual Studio进行编码.

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

Kar*_*ren 92

我前一段时间在一个项目中使用过SSH.Net,对此非常满意.它还附带了一个很好的文档,其中包含大量有关如何使用它的示例.

原始软件包网站仍然可以在这里找到,包括文档(目前在GitHub上不可用).

对于你的情况,代码将是这样的.

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

  • 它在Codeplex页面的Downnloads下可用作"SshNet帮助":http://sshnet.codeplex.com/releases/view/120565.不是最常见的提供文档的方式,但它至少存在. (3认同)

小智 8

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();
Run Code Online (Sandbox Code Playgroud)

//使用SSH.Net