问题标签 [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.
c# - SshClient.Connect() 在尝试连接不存在的主机时无限期阻塞
我正在使用 Renci.SshNet (RuntimeVersion: 2.0.50727) 连接启用 ssh 的 linux 机器,它对于网络中可用的主机正常工作,但是每当我尝试连接到不在网络中的任何主机时似乎卡在了线上SshClient.Connect()
我正在考虑一种解决方法,例如在连接设备之前 ping 设备,但不确定它有多可靠。
c# - C# SSH 连接
我正在尝试将 SSH 命令作为 C# 应用程序的一部分运行。我的代码如下:
从我读过的关于 SSH.NET 的内容来看,这应该输出我认为应该是“测试”的命令的结果。但是,当我运行程序时,我得到的输出是:
我不明白为什么我会得到这个输出(不管命令如何),任何输入都将不胜感激。
谢谢,
杰克
c# - 有没有办法让 FtpWebRequest/FtpWebResponse 与 SSH.NET dll 一起使用?
FtpWebRequest
我有一些使用和下载和上传文件的代码FtpWebResponse
。
我需要修改所有内容以使用 SFTP 而不是 FTP。
有没有办法FtpWebResponse
使用 SSH.NET 库?
使用此解决方案,我不会被迫重新编写所有代码,只需修改连接以获取FtpWebRequest
/FtpWebResponse
与 SFTP。
c# - 在 SSH.NET 中使用异步方法时如何获取异常信息?
我正在使用 SSH.NET C# API 的异步方法来管理 SFTP 操作。如果我在 BeginDownloadFile 或 BeginUploadFile 中指定了无效的远程路径,则操作将失败,并且我的 asyncCallback 会立即以 0 传输字节数调用。我想获取异常信息,但似乎没有通过。我在 SFTP 连接 (ErrorOccurred) 上安装了一个错误处理程序,但它从未被调用。知道使用 SSH.NET 的异步方法时如何捕获异常吗?
ftp - 是否可以在 Renci SSH.NET 上使用普通(不是 SFTP)FTP?- 使用哪个客户端?
我正在使用 Renci SSH.NET,但尝试在 FTP(不是 SFTP 站点)上进行测试。
我确实让这个与 WinSCP 一起工作 - 但无法让它在 Renci 上工作 - WinSCP 允许我将协议设置为 FTP 或 SFTP - 我认为这是问题 - 我被提示
找不到合适的身份验证方法来完成身份验证(公钥、键盘交互)。
如何在 Renci SSH.NET 上关闭 SFTP(仅使用 FTP)?我试过
这是代码:
c# - 调试错误后 SSH 连接保持打开状态
所以我正在制作一个可以打开与远程设备的连接并执行不同命令的应用程序。所以昨天在我下班之前,当我遇到错误时,我正在调试。但是由于我的应用程序忽略了它并继续进行并且没有足够的时间立即修复它,我决定今天就这样做。当我想再次与我的程序建立连接时,它说它无法进行身份验证(注意*参数没有改变)。
所以我做了一些检查以确定问题,在登录服务器并运行 netstat 后,我发现端口 22 有一个活动连接,该连接源自我的应用程序。
不知何故,连接没有出现在我的 SSH 管理器中,直到我重新启动它两次。
所以为了在生产环境中防止这样的事情发生,我该如何防止这样的事情发生。
我的程序.cs
我的执行命令类:
和我建立联系的班级:
注意*我没有包含我的 XMLParser 类,因为它与问题无关,一般来说它也没有任何关于 SSH 的连接。
.net - 使用 SSH.NET 从 ByteArray/MemoryStream 上传 - 文件创建为空(大小为 0KB)
当我第一次下载文件并通过 SSH.NET 上传时,一切正常。
但是我现在必须(不是下载文件)而是上传文件流:
发生的事情是该UploadFile
方法认为它成功了,但在实际的 FTP 上,创建的文件大小为 0KB。
请问我做错了什么?我也尝试添加缓冲区大小,但没有奏效。
我在网上找到了代码。我应该做这样的事情:
c# - 当我的 ssh 客户端与 ssh 服务器断开连接时,如何减少 ssh.net 超时?
我使用 ssh.net 在 C# 中编写了一个小程序,该程序连接到 SSH 服务器,进行一些更改,并在 SSH 服务器上重新启动 SSHD 服务。
不幸的是,SSH 服务器在一个缓慢的嵌入式系统上运行,并且 SSHD 服务没有足够快地重新启动以无缝地这样做(无需断开客户端)。SSH 服务实际上需要大约一分钟才能重新启动。这可以。
我的代码看起来是这样的:
我遇到的问题是 ssh 客户端需要一分钟甚至更长的时间才能确定 SSH 服务器不再响应,并抛出 System.Net.Sockets.SocketException。有什么办法可以缩短这个超时时间?我不希望它重新连接 - 我只是希望它尽快抛出异常。这是某种 ssh.net 特定的超时值,还是 System.Net.Sockets 超时?
c# - C# SFTP 没有这样的文件
我正在使用SSH.NET 库连接到远程 SFTP 服务器。我正在尝试使用非常基本的代码,但它不起作用
No Such File
但是,这会在ChangeDirectory
方法上引发异常。
我对 Curl 进行了同样的尝试,但出现错误提示
curl: (51) SSL 对等证书或 SSH 远程密钥不正确
但是,我添加了 curl 的--insecure参数并且一切正常。
该--insecure
部分是否与SSH.NET
图书馆无法正常工作的原因有关,还是有其他原因?有没有办法模拟--insecure
C# 中的功能?
谢谢
c# - Renci SSH.NET:上传文件时的字符编码
我目前正在使用 Renci.SshNet 使用 SFTP 上传文件和目录,到目前为止一切正常,除了复制包含特殊字符(如德语字母 ß、ä)的文件时出现编码问题。ö。ü 等等。
例如,当我尝试上传一个名为“Fünf”的目录时,该名称被转录为“Fünf”。
是否需要启用或设置任何类型的编码才能使我的字符串正确到达?