C# 入门 SSH 连接

对于熟悉 Python 的人,应该了解 Python 之所以简单,易学,是因为包含了很多第三方的库。

同样 C# 也有一些很有用的库,今天我们来看一个 C# 的库,通过该库,你可以实现 ssh 的连接,以及一些通过 ssh 的操作,比如上传下载文件,等等。

这个库叫做 SSH.NET,你可以在这里找到相关源码:

sshnet/SSH.NET: SSH.NET is a Secure Shell (SSH) library for .NET, optimized for parallelism. (github.com)

首先我们来看一下,怎么在 visual studio 2019 上面添加库的软件包。
打开 visual studio 2019,新建一个 console application,然后右击右边 Solution 框中的 “Dependencies”,选择 “Manage NuGet Package”,然后在左边的 NuGet 窗口,选择 Browse 窗口中,输入 “ssh.net", 找到 SSH.NET,点击安装图标,进行下载安装(你可以在 Installed 窗口,验证安装):
https://ithelp.ithome.com.tw/upload/images/20210918/200994943uPhWsvU91.png

安装完成后,就可以来编写我们的代码了:

using System;
using Renci.SshNet;

namespace ssh
{
    class Program
    {
        static void Main(string[] args)
        {
            ConnectionInfo conInfo = new ConnectionInfo("192.168.1.12", 22, "test", new AuthenticationMethod[]    // ssh 的连接信息
            {
               // ssh 连接的用户名密码
               new PasswordAuthenticationMethod("test", "Shanghai2010")  
            });

            using (SshClient client = new SshClient(conInfo))   //  创建一个连接
            {
                client.Connect();         // 建立连接
                var ouput = client.RunCommand("ls -l");   // 输入需要运行的命令,并赋值给一个变量
                Console.WriteLine(ouput.Result.ToString());  // 调用 Result 属性,输出命令结果
                client.Disconnect();        // 断开连接
            }
        }
    }
}

运行结果:
https://ithelp.ithome.com.tw/upload/images/20210918/20099494aqBebep78N.png


<<:  JavaScript学习日记 : Day4 - 基本型别(二)

>>:  Day9-"格式化符号"

[Day 29]-【STM32系列】实作-步进马达 + ULN2003 控制

今天介绍步进马达,疑?昨天不是才说过马达吗?昨天的是伺服马达,今天的则是伺服马达 这两者有甚麽不一样...

DAY10:应用程序元件Activity之简介

接下来要介绍到的是,最基本的应用程序元件----Activity,要在萤幕上显示画面,必须透过画面配...

就决定是你了!嵌入式系统

本篇提到的故事是发生在我跟教授 B 签完指导教授确认单到发生意外之间。 进入正题 昨天有提到,B 教...

认识HTML(七):表单栏位(上)

表单input元素 一般表单中所看到的输入栏位,可以用 <INPUT> 元件与其属性ty...

[Day 3] 阿嬷都看得懂的 HTML 在干嘛

阿嬷都看得懂的 HTML 在干嘛 If a picture paints a thousand wo...