如何使用 C# 打开 Putty 会话

2024-06-25

我想知道如何在 Visual Basic Express 中使用 C# 打开 putty。然后通过 ssh 会话执行命令。


您可以使用 plink.exe 进行 SSH,使用 pscp.exe 进行 SCP。https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html https://www.chiark.greenend.org.uk/%7Esgtatham/putty/latest.html

下载这 2 个文件,然后将它们复制到您的解决方案中。然后在属性下选择:如果较新则复制。

 // SCP
 var process = new Process();
        ProcessStartInfo processStartInfo = new ProcessStartInfo();
        processStartInfo.FileName = Directory.GetCurrentDirectory() + $@"\pscp.exe";
        processStartInfo.Arguments = $@"-P 22 -pw password filepath.zip root@host:/path ";
        processStartInfo.UseShellExecute = false;
        processStartInfo.RedirectStandardOutput = true;
        processStartInfo.RedirectStandardError = true;
        processStartInfo.RedirectStandardInput = true;
        processStartInfo.CreateNoWindow = true;
        process.StartInfo = processStartInfo;
        process.OutputDataReceived += (sender, args) => Console.WriteLine(args.Data);
        process.ErrorDataReceived += (sender, args) => Console.WriteLine(args.Data);
        process.Start();
        process.BeginOutputReadLine();
        process.BeginErrorReadLine();
        process.WaitForExit();
        Console.WriteLine(process.ExitCode);

        // SSH
        process = new Process();
        processStartInfo = new ProcessStartInfo();
        processStartInfo.FileName = Directory.GetCurrentDirectory() + $@"\plink.exe";  
        processStartInfo.Arguments = $@"-P 22 -pw password root@host command";
        processStartInfo.UseShellExecute = false;
        processStartInfo.RedirectStandardOutput = true;
        processStartInfo.RedirectStandardError = true;
        processStartInfo.RedirectStandardInput = true;
        processStartInfo.CreateNoWindow = true;
        process.StartInfo = processStartInfo;
        process.OutputDataReceived += (sender, args) => Console.WriteLine(args.Data);
        process.ErrorDataReceived += (sender, args) => Console.WriteLine(args.Data);
        process.Start();
        process.BeginOutputReadLine();
        process.BeginErrorReadLine();
        process.WaitForExit();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 C# 打开 Putty 会话 的相关文章

  • HTML 文档

    有没有一个工具可以从 VS2010 生成的 XML 文档文件生成 HTML 页面 我在谷歌上搜索了这样的工具 但没有找到 我下载并安装了SandCastle 但我不明白如何使用它 尝试使用Sandcastle 帮助文件生成器 http sh
  • 使用索引避免迭代器失效,维护干净的接口

    我创建了一个MemoryManager
  • 以编程方式更改 Excel 中的字体(Trebuchet MS、Calibari)C#

    我目前正在使用一个 C 应用程序 该应用程序有一个将生成 Excel 文件的类 一切都很顺利 Excel 工作表上填充的数据具有 Times New Roman 字体 我想将其更改为其他字体 Calibari 我怎样才能以编程方式做到这一点
  • 在异步方法中使用时 HttpClient 标头被清空

    我正在使用 NET Framework 4 6 1 我的 Web api 中有一个控制器 其中有静态 HttpClient 来处理所有 http 请求 在 IIS 上托管我的应用程序后 大约每月一次 我的应用程序的所有传入请求都会出现以下异
  • 外部剃刀视图看不到外部模型

    我对外部剃刀视图有疑问 在我的项目中 我有主 mvc Web 程序集和动态加载的外部类库程序集 来自 DB 及其自己的控制器 视图和模型 这些程序集在运行时不会直接引用和加载 我能够通过为控制器创建自定义控制器工厂 为视图创建自定义虚拟路径
  • 用 C# 中的字典中的值替换字符串中的单词

    我有一个简单的dictionary像这样 var fruitDictionary new Dictionary
  • 错误 C2065:'cout':未声明的标识符

    我正在处理我的编程作业的 驱动程序 部分 但我不断收到这个荒谬的错误 错误 C2065 cout 未声明的标识符 我什至尝试过使用std cout但我收到另一个错误 IntelliSense 命名空间 std 没有成员 cout 当我宣布u
  • VS2010中VSHost.exe不断启动

    我正在 VS2010 中使用一个包含大量项目的解决方案 但它不断变得无响应 我注意到的一件事可能是一条线索 尽管我尚未开始任何调试 但 MyApplicationName vshost exe 不断出现在进程列表中 也许每当构建发生时它就会
  • 如何在 C++ 中从模板基类的构造函数调用模板超类的构造函数?

    我正在使用 sublimetext3 用 c 进行编程 我的程序有一个名为 Array 的超类和一个名为 IntArray 的子类 这两个类都是模板类 目前 我在编译该程序时遇到问题 它不断在我的 IntArray cpp 文件中给出错误
  • 如何将 QSerialPort 模块添加到 CMake 中?

    我想将 QSerialPort 模块添加到 CMake 中 根据我的理解 我需要将QT 串口添加到 pro中 我只想使用 CMake 所以我尝试编译简单的 CMake 文件 但有错误 QtCore 正在工作 qDebug 可以毫无问题地显示
  • 用于 C/C++ 的独立跨平台 (Windows/Linux) 文件压缩?

    我正在寻找一个 最好是小的 C 或 C 开源库 我可以将其包含在我的 MIT 许可项目中 托管在 google 代码上 我是一名业余爱好 C C 程序员 所以我并不那么先进 但我只知道为名为 SA MP 的应用程序 适用于 Windows
  • UWP - 绑定枚举差异

    我遇到了一个非常有趣的问题 假设 UWP 应用中有以下 XAML 页面内容
  • Excel 2007 中的数值 - 底层 xml 文件中的表示与存储

    这个问题与 NET和OpenXml有关 我已经阅读了以下文章 它有很好的解释 但没有回答我的问题 Excel 2007 中数值的可视化与底层 xml 文件不一致 https stackoverflow com questions 58594
  • 如何在 C++ 中初始化嵌套类的构造函数

    我在初始化嵌套类构造函数时遇到问题 这是我的代码 include
  • 内存不足异常

    我正在使用 C 和 asp net 开发一个网络应用程序 我一直收到内存不足的异常 该应用程序的作用是从数据源读取一堆记录 产品 可能是数百 数千 通过向导中的设置处理这些记录 然后使用处理的产品信息更新不同的数据源 虽然有多个 DB 类
  • 除法时的小数舍入误差 (C#)

    我基本上有四个数字 比如 100 200 300 400 我需要计算概率为 100 100 200 300 400 200 100 200 300 400 等等在 当我使用小数数据类型来存储这些概率时 由于舍入问题 它们不会达到 1 在不使
  • 将 R 值传递给采用 L 值的函数时出现过载歧义

    我有 2 个重载函数 一个采用 L 值 另一个采用 R 值 目的是让该函数可以像这样调用 Obj obj foo obj OR foo Obj 所以 我写了2个重载函数 template
  • 如何进行平衡组捕获?

    假设我有这个文本输入 tes tR R abc aD mnoR xyz 我想提取 ff 输出 R abc R xyz D mnoR xyz R R abc aD mnoR xyz 目前 我只能使用平衡组方法提取组内的内容 如中所示msdn
  • 在 C# 中为 ListBox 分配数据源时,如何从 ListBox 中删除所选项目?

    在 C 中为 ListBox 分配数据源时 如何从 ListBox 中删除所选项目 尝试删除时出现错误 设置 DataSource 属性后 无法修改项目集合 但是当我尝试从数据源 数据表 中删除项目时 它会抛出错误 因为 数据行不在当前行集
  • RC4 实现与 openssl 输出不匹配

    我的目标是在 C C 中实现 RC4 流密码 并确保它产生与使用时相同的输出openssl命令 按照伪代码维基百科 https en wikipedia org wiki RC4 该实现似乎有效 因为它可以加密和解密内容 但是 加密的输出与

随机推荐

  • Swift3 中的数组排序

    在我的代码中 我有一个如下所示的结构 struct Object var name String var count Int 我现在正在创建一个包含 10 个对象的数组 这些对象具有随机名称和随机计数 有没有一个简单的方法a 按字母顺序对它
  • SubSonic 3.0.0.3 更新异常

    当我尝试在 SubSonic 中更新时 我遇到了空引用异常 这是我收到的异常消息 未将对象引用设置为对象的实例 StackTrace 位于 SubSonic Query Update GetCommand 我已经检查了正在更新的对象 没有丢
  • 查找成对元素的索引

    给定目标 b a 和输入 x0 b a z z x1 b a z z x2 z z a a x3 z b a a 目的是找到连续的位置 b a 元素并获取输出 gt gt gt find ba x0 0 gt gt gt find ba x
  • 如何配置maven以使用servlet 3

    我想升级我的 web 应用程序以使用 servlet 3 0 插入 2 5 我正在使用 WebLogic Server 版本 12 1 1 0 12c maven java 7 10 和 NetBeans 7 3 1 由于某种原因 唯一可用
  • 在Python中检测包含非英文字符的字符串

    我有一些混合有英文字母和非英文字母的字符串 例如 w 1991 2 如何使用正则表达式或 Python 中的任何其他快速方法识别这些类型的字符串 我不喜欢将字符串中的字母与字母列表进行逐一比较 而是一次性快速完成此操作 您可以检查该字符串是
  • 绘图不适合 R 窗口

    我正在使用metaR 中的包对比例进行荟萃分析 我的分析中有大约一百项研究 当我打字时forest result 创建我的森林图 它可以工作 但图形在顶部和底部被切掉 无论我做什么 它都不适合绘图窗口 我对如何解决这个问题感到困惑 有任何想
  • 零膨胀泊松分布的经验和理论分布图

    以下是我正在研究的一种数据集 data lt c 0 1 0 11 2 0 3 0 0 2 1 3 1 0 1 0 0 0 2 3 0 0 0 8 1 1 1 0 1 1 2 7 0 0 0 5 2 3 6 1 1 5 2 9 0 0 1
  • 失去焦点时隐藏软键盘

    当我们有一个EditText并且它失去了焦点 到不需要键盘的元素 软键盘应该自动隐藏还是我们应该自己隐藏它 我正在将焦点从AutoCompleteSearchView 它的行为应该像EditText我猜 到Button requestFoc
  • Powershell:对 Select-Object 中的字段使用变量

    我正在构建一个正在创建的脚本csv文件 每个csv有一组不同的字段 一切都很好 但我想控制列顺序输出 我有一个变量 其中包含字段以及我想要的字段顺序 我知道我可以使用 Select Object 来控制它 我想做的是这样的 Fields I
  • 使用自定义令牌进行 Firebase 身份验证

    我有一个 firebase 项目 我试图从我的 Rails 服务器进行身份验证 按照文档上的说明使用 ruby jwt 库创建自定义令牌 但我不断收到相同的错误 auth invalid custom token 自定义令牌格式不正确 请检
  • 对于向 XSS 漏洞开放 JWT,我应该有多担心?

    我正在构建一个 Node js Web 应用程序 该应用程序使用用于 GUI 的 React 和由 Apollo 提供的 graphQL 用于连接到 AWS 上的 RDS MySQL 实例的后端 我正在对用户进行身份验证 然后返回 JWT
  • 如何使用 Rx 以非阻塞方式观察值?

    我试图在计时器上观察其处理程序比间隔长 为了做到这一点 我想安排对某种线程池 任务池或其他东西的观察 我尝试了线程池 任务池和newthread 但没有一个起作用 有谁知道该怎么做 例子 var disposable Observable
  • 如何从单个元素创建切片而不复制该元素?

    我有一个非常大的结构 在堆上和堆栈上 我在函数中使用 大多数时候 我想要该结构的一个简单变量 因为我直接对大结构进行操作 然而 在某一时刻 我被迫 通过函数签名 将此结构传递到切片内部 struct VeryBig Vec
  • Android Studio断点交叉解释

    我正在 Android Studio 中使用断点调试我的 Android 项目 我注意到有时我的断点中有一个十字并且不会暂停执行 在 intellij 网站上 这被解释为 显示何时在注释或不可执行的行上设置断点 表明不会命中此类断点 谁能告
  • 为 std::reference_wrapper 分配一个值

    我们如何为包裹的项目分配一个值std reference wrapper int a 0 1 2 3 4 std vector
  • 在 TypeScript 中使用高阶组件来省略使用时的 React 属性

    我正在尝试在 TypeScript 中编写一个高阶组件 它接受一些 React 组件类 包装它 并返回一个省略了声明的属性之一的类型 这是我尝试过的 interface MyProps hello string world number i
  • Google 登录服务器验证码无 iOS?

    我们让 Google 登录您的应用程序 我们在请求登录时提供服务器客户端 ID 我们得到的 user serverAuthCode 为 nil 我们的要求如下 func googleLogin var configureError NSEr
  • 访问Expo SQLite数据库的物理存储

    我正在 expo CLI 下使用 React Native 开发一个 android 应用程序 我正在尝试使用 expo sqlite 库创建并写入数据库 我的测试环境是我的 Android 手机 通过扫描浏览器上的 Metro 捆绑包中显
  • AngularJS - 成功返回 $http.post

    我使用 AngularJs 我需要在 http post 连接后返回数据 这是代码 app controller PrincipalController http scope function http scope scope myData
  • 如何使用 C# 打开 Putty 会话

    我想知道如何在 Visual Basic Express 中使用 C 打开 putty 然后通过 ssh 会话执行命令 您可以使用 plink exe 进行 SSH 使用 pscp exe 进行 SCP https www chiark g