问题标签 [ssh.net]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-mvc - ssh.net 检查文件扩展名
我使用 SSH.NET 库连接到 sftp 服务器并设法从服务器下载文件。在服务器中有很多文件类型,我只需要 CSV 文件即可下载。如何检查文件扩展名 GetExtension 在 SSH.NET 中不起作用。非常感谢帮助。
c#-4.0 - SSH.NET ftpClient 和日志记录
我有一个使用 SSH.NET 库将文件上传到安全 FTP 站点的非常基本的例程。我正在使用库中的 SftpClient 对象。一切正常,我没有收到任何异常。但是,FTP 另一端的公司说他们没有收到一些文件。它看起来是随机的,每次我手动验证文件在 FTP 服务器上时,它们一直在。所以我怀疑他们那边发生了一些事情,因为在向其他客户发送了数千个文件之后,从来没有丢失过文件……除了他们。
所以...我一直在寻找 SftpClient 的日志记录选项,以便我可以证明文件已实际上传。
有没有办法让 FTP 命令从库中注销?我正在寻找客户端和服务器响应,例如从网络上窃取的以下示例:
除此之外,还有其他可用的日志记录吗?
c# - 如何检查 Ssh.NET 连接是否建立成功?
我想知道 Ssh.NET 如何告诉我连接是否建立成功:
以及如何证明“client.RunCommand("service apache2 status");”的结果 逻辑上?
例如 if(x == "apache2 正在运行")
c# - 从 C# Web 应用程序执行脚本时,使用“密码”连接到“DBname”用户“UserName”的 db2 不起作用
我正在尝试从 C# Web 应用程序执行 shell 脚本。在该 shell 脚本中,它连接到数据库并从中检索数据。从“ SSH Secure Shell Client ”工具执行脚本时,我能够获得所需的结果。但是当我尝试从 .net 应用程序执行脚本时,我无法正确连接数据库。
尝试调用的行是-" db2 connect to "DBname" user "UserName" using "Password" "
我想知道的另一件事是如何知道数据库是否已连接?
请给我同样的建议。
谢谢
c# - SSH.NET 连接在 RunCommand 后总是断开连接
我正在尝试通过 SSH.NET 连接到我们的 cisco 交换机并在其上运行多个命令(最多 200 个)并读取结果。一个命令后,连接总是断开。
代码:
样品用法:
每次在 x.Execute() 之后都会发生断开连接。x.Error 中没有错误,x.ExitStatus = 0
x.Result 总是正确的
显然,如果我删除评论,它会起作用。但正如你可以想象的那样,它非常慢,而不是我可以使用的。
如果有人有答案会很高兴。
c# - 为什么某些代码仅在我在 C# 中创建/运行表单时才有效?
在将应用程序变成更像后台任务的过程中,我注意到一些奇怪的行为。当我运行这样的东西时它工作正常(类似于我正在修改的旧代码):
在后台进行此运行的第一步当然是删除对表单/渲染的引用:
然而,这种方式行不通。当我运行它时,我使用的库(与 Windows 窗体没有任何关系)不再正常工作。这没有我计划做的任何其他更改。只删除这三行。如果相关,Foo
在实际代码中是一个创建 SSH 隧道的类(使用 SSH.NET 库),但它没有通过表单/设计器中的任何代码(直接或间接)引用,它只需要设置/拆除,以便建立连接。
该错误发生在连接到隧道之前,而是在尝试连接到远程主机并转发端口时发生。库报告连接已建立 ( IsConnected
is true
),但是当端口转发启动时,它会报告异常并显示消息"Session is not connected"
.net - ssh.net 库 - client.RunCommand() 不工作
程序挂在 .RunCommand() 处。我错过了一些非常基本的东西吗?似乎这是对其他人有效的相同代码,我知道该命令是正确的。
如果我注释掉 .runcommand() 程序执行没有错误。
我感谢任何高级帮助。
c# - 使用 SSH.Net 下载和返回非阻塞数据流
我正在使用ssh.net 库来执行 SFTP 操作以处理大型数据文件 ( >=500MB )
我对如何以非阻塞方式返回数据有疑问。
方法签名是好的,当ftpClient.DownloadFile()
写入文件时,或者如果有某种方法可以实例化流,但是当我想在不阻塞的情况下返回流时如何使用它时遇到问题。
到目前为止,我看到的所有示例都将下载内容写入Filestream
. 没有什么只是返回一个流
使用 .Net 的内置 FTP,您只需使用response.GetResponseStream()
,它就会流回数据,而不会阻塞。
在 return 语句中使用它的唯一方法是写入临时文件。但这导致它成为阻塞操作。
我不希望它阻塞,而是流回数据。
我也想避免创建一个临时文件。
是否有替代实现使其流回数据?
或者是否有我可以实例化的替代流(除了MemoryStream
),它适用于大文件?
linux - 从 PowerShell 远程执行 Linux 应用程序
我正在尝试cslogin
从 PowerShell 在 Linux 机器上执行应用程序控制台命令 ()。我使用来自SSH.NET的 SSH 模块来访问 Linux 服务器。以下是我的脚本的快照,我能够建立 ssh 会话。
但是一旦cslogin
执行该命令,脚本就会挂起并显示以下消息:
SEC054 设备已连接到或断开连接到伪 tty,但未进行身份验证
此时,如果我按下回车键,我就能得到应用程序提示,这就是我想要的。我试图了解为什么我的脚本会挂起以及如何解决这个问题。
c# - SSH.NET 找不到部分路径错误
我正在尝试在 C# 代码中使用 SSH.NET 通过 SSH 访问数据库。我生成一个 RSA 密钥对并将私钥放在 UNC 共享驱动器上。路径名字符串如下所示。当我开始尝试连接的代码时,我收到“找不到路径的一部分”错误。
我认为使用 UNC 路径是问题所在。有没有办法解决这个问题?谢谢。
编辑:我尝试使用映射驱动器。同样的错误。我的代码如下所示:
注意:我尝试了一个看起来像这样的路径名:@"C:\my folder\private_key.ppk"
并且它有效,所以显然字符串中的空格不是问题。此外,虽然我认为权限不是问题,但我尝试以管理员身份运行代码并得到同样的错误。我可以使用 Windows 资源管理器手动访问共享驱动器。我不知道我还能尝试验证这一点。