无法使用C#中的SSH.NET上传文件SFTP.
我正在尝试使用SFTP协议使用c#使用ssh.net库上传文件.以下是我正在使用 的代码 FileInfo f=new FileInfo("C:\\mdu\\abcd.xml"); string uploadfile=f.FullName; Console.WriteLine(f.Name); Console.WriteLine("uploadfile"+uploadfile); var client = new SftpClient(host, port, username, password); client.Connect(); if(client.IsConnected){ Console.WriteLine("I AM CONNECTED"); } var fileStream = new FileStream(uploadfile, FileMode.Open); if(fileStream!=null){
2 2023-05-25
编程技术问答社区
Renci SSH.NET-opmnctl没有返回结果字符串
我正在尝试通过vb.net从命令获得结果,它正在返回空字符串,如下所示: Dim connInfo As New Renci.SshNet.PasswordConnectionInfo(serverip, user, pass) Dim sshClient As New Renci.SshNet.SshClient(connInfo) Dim cmd As Renci.SshNet.SshCommand Using sshClient sshClient.Connect() cmd = sshClient.RunCommand("opmnctl status -l") MsgBox(cmd.Result) sshClient.Disconnect() End Using 当我尝试使用正常命令(例如"ls -ltr")时,它成功返回结果. 还有另一种获取结果字符串的方法吗?还是RENCI上不支持OPMN Oracle Engine的op
0 2023-05-13
编程技术问答社区
用SSH.NET连接OpenSSH 7.4p1时,出现了 "服务器响应在位置上包含一个空字符 "的故障,但在WinSCP中可以工作。
我试图使用ssh.net(2020.0.0)连接到SFTP服务器. 我的代码看起来很简单: try { var x = new ConnectionInfo(FtpIpAddress, 22, FtpUser, new PasswordAuthenticationMethod(FtpUser, FtpPw)); using (var sftpClient = new SftpClient(x)) { sftpClient.Connect(); sftpClient.Disconnect(); } } catch (Exception e) { Console.WriteLine(e.Message); } 但是,当我运行代码时,我会收到以下错误: The server response contains a null character at position 0x0000002
0 2023-05-11
编程技术问答社区
使用SSH.NET SftpClient设置扩展文件属性
我使用Renci SSH.NET SFTP库将文件上传到远程计算机(Ubuntu 16.04 lts)后,尝试使用扩展文件属性来存储一些信息.但是属性没有得到保存? 这是我尝试设置扩展属性的方式 SftpFileAttributes fileAttrs = sftpClient.GetAttributes(remoteFilePath); IDictionary additionalAttrs = new Dictionary(); additionalAttrs.Add(new KeyValuePair("user.from", "abc")); additionalAttrs.Add(new KeyValuePair("user.to", "xyz")); fileAttrs = new SftpFileAttributes(
2 2023-05-11
编程技术问答社区
如何将SSH.NET NuGet包加入我的Azure Functions v2.0中?
我的Azure函数是V2. 我在function.proj中添加了. 但是,#r "Renci.SshNet"无法正常工作. #r "D:\home\site\wwwroot\bin\Renci.SshNet.dll"也无法正常工作.因为wwwroot下没有bin文件夹. 包括renci.sshnet的正常方法是什么? 问候, zhenyu 我的function.proj屏幕截图 解决方案 您可以在wwwroot下添加bin文件夹,然后通过"高级工具(kudu)"将dll拖动到azure function"平台特征. . 首先,单击" kudu"(如下如屏幕截图) 然后单击"调试控制台" - >" cmd" - >" site" - >" wwwroot" - >"新文件夹",然后将文件夹namd为" bin". 然后将DLL文
2 2023-04-30
编程技术问答社区
C# SSH隧道Postgres数据库连接
我试图通过SSH隧道连接到远程服务器上的Postgres数据库.我正在使用SSH.NET和NPGSQL库.这是我的示例代码: using (var client = new SshClient("210.130.90.110", "root", "pasword")) { client.Connect(); if (!client.IsConnected) { // Display error Console.WriteLine("Client not connected!"); } else { Console.WriteLine("Client connected!"); } var port = new ForwardedPortLocal("127.0.0.1", 15432, "210.130.90.110", 5432); client.AddFo
10 2023-04-27
编程技术问答社区
使用SSH.NET库从.NET连接到MySQL
我正在开发一个网页(ASP.NET/C#),该网页通过SSH查询远程服务器上的数据库(MySQL).我正在使用这两个库(mysql-connector-net-6.9.7)和(renci.sshnet.dll). 我可以使用远程服务器上的MySQL Workbench访问MySQL数据库: " portal.remoteserver.edu:22 "使用" remoteserverusername "和 " remoteserverpassword ". 这是我的C#代码,它不会从远程服务器上的客户端表返回任何数据: MySqlConnectionStringBuilder connBuilder = new MySqlConnectionStringBuilder(); connBuilder.AllowBatch = true; connBuilder.Server = "127.0.0.1"; connBuilder.Port = 3306; connBuil
2 2023-04-19
编程技术问答社区
SSH.NET Library | SshClient.Dispose(), public connection
我使用ssh.net库有2个问题. 我想创建SSH连接,然后断开连接.但是,如果我开始异步阅读,则断开连接会导致问题.当我尝试结束连接时,我的程序只是冻结. public void button1_Click(object sender, EventArgs e) { var ssh = new SshClient(IP, UserName, Password); ssh.Connect(); var stream = ssh.CreateShellStream("anything", 80, 24, 800, 600, 4096); byte[] buffer = new byte[1000]; stream.BeginRead(buffer, 0, buffer.Length, null, null); stream.DataReceived += new EventHandler
26 2023-04-06
编程技术问答社区
SSH.NET实时命令输出监控
远程Linux计算机上有一个长期运行的脚本script.sh.我需要启动它并实时监视其活动.活动期间的脚本可能输出为stdout和stderr.我正在寻找一种捕获两个流的方法. 我使用renci ssh.net上传script.sh并启动它,因此很高兴看到解决方案与此库的边界.在我看来,完美的解决方案是新方法: var realTimeScreen= ...; var commandExecutionStatus = sshClient.RunCommandAsync( command: './script.sh', stdoutEventHandler: stdoutString => realTimeScreen.UpdateStdout(stdString) stderrEventHandler: stderrString => realTimeScreen.UpdateStderr(stderrString)); ... commandExe
76 2023-04-01
编程技术问答社区
如何在mongodb c#中连接ssh.net
我正在使用此ssh.net客户端 static void Main(string[] args) { MongoClientSettings settings = new MongoClientSettings { ClusterConfigurator = cb => { cb.RegisterStreamFactory(CustomStreamFac); } }; MongoClient mongoClient = new MongoClient(settings); IMongoDatabase db = mongoClient.GetDatabase("testdb"); var collections = db.ListCollections(); } public static IStreamFactory CustomStreamFac(IStreamFactory istreamfac) { Stream stream = istreamfac.CreateStream(
20 2023-03-31
编程技术问答社区
当使用SSH.NET向SFTP服务器上传由csvhelper创建的内容的内存流时,上传的文件是空的。
我正在努力与CSVHelper一起发送CSV.但是当我发送它时,它总是空的. using (var sftProvider =new SFTProvider(Configuration)) using (var csvProvider=new CSVProvider(Configuration)) using (Stream fileStream = new MemoryStream()) { var sftp = sftProvider.SFTPConnection("", "", ""); var nameFile = "/ethias/"+DateTime.Now.ToString(DateFormatConstants.DATE_FORMAT) + ".csv"; if (sftp.Exists(nameFile)) { sftProvider.ReadFileSFTP(sftp, nameFile, fileStream);
2 2023-03-25
编程技术问答社区
如何使用SshClient将内容写入linux SFTP服务器上的文件?
我正在使用.NET(SSHCLIENT)代码处理Linux SFTP服务器,因此我在SFTP服务器上创建文件夹并创建文件.为此,我使用以下代码, using (var client = new SshClient(WebConfigurationManager.AppSettings["SftpServer"], WebConfigurationManager.AppSettings["SftpUserName"], WebConfigurationManager.AppSettings["SftpPassword"])) { client.Connect(); if (client.IsConnected) { // Check if the Folder Already Exists var ifExists = client.RunCommand("cat /etc/passwd | grep -w " + ftp
6 2023-03-09
编程技术问答社区
使用SSH.NET将文件从Windows转移到UNIX服务器时,修改的日期时间发生变化
我在我的C#应用​​程序中使用ssh.net将文件从Windows复制到Unix服务器,我有几个方案: 在Unix Server目录中如果要复制的文件不存在 ,则将文件复制为UNIX服务器更改为复制的DateTime ?这是正确的,因为修改后的DateTime不应正确更改? 在Unix Server目录中如果要复制的文件已经存在 ,则在复制相同的文件时,该文件被替换为Unix Server Path 文件的修改时间不更改! 我与此修改后的日期时间感到困惑-sftp and preserve-the-file-dates-f"> post ssh.net错误地,这应该是对的吗? 对于那些要求提供代码的人,请进行: private static int UploadFileToSFTP (string localFileFullPath, string uploadPath) { try { Log.Debug("Inside U
0 2023-03-08
编程技术问答社区
用SSH.NET SshClient.RunCommand执行的命令(.4gl)失败,"没有这样的文件或目录"
我有一个使用ssh.net在unix框上调用shell脚本的Web服务. 如果我正常运行脚本,它可以正常运行,可以在Informix DB上正确完成工作. 只是一些背景: 我称执行.4gl的脚本(不能将其显示为其业务知识). 当我使用ssh.net执行时,G4L将在日志中给出以下错误: fglgo:加载共享库时错误:libiffgisql.so:无法打开共享对象文件:否这样的文件或目录 file_load结束:2017-09-21 15:37:01 c#代码执行ssh.net脚本 sshclients = new SshClient(p, 22, username, password); sshclients.Connect(); sshclients.KeepAliveInterval = new TimeSpan(0, 0, 1); sshclients.RunCommand("sh " + Script_dir); 我添加了KeepAli
8 2023-03-08
编程技术问答社区
如何使用SSH.Net?
我如何使用ssh.net正确地将其定为root?这个问题类似于: this href =" https://stackoverflow.com/questions/22445316/ssh-net-passwd-not-executing"> this .我无法找到为我工作的答案的任何解决方案. 这是我的代码: using (var client = new SshClient("ip", "username", "password")) { client.Connect(); if (client.IsConnected) { var shell = client.CreateShellStream("xterm", 80, 24, 800, 600, 1024); var
20 2023-02-21
编程技术问答社区
如何在C#中从AIX topas命令结果中剥离ANSI转义代码
我正在尝试捕获AIX实时信息,例如CPU,内存,使用C#控制台应用程序的IO加载,因为我想在第三部分自定义仪表板中显示该信息. 运行命令TOPA后,我需要定期捕获以下文本: 我试图用我在某个论坛中发现的以下代码捕获它: using Renci.SshNet; using System; using System.IO; using System.Threading; namespace SSH_check_commands { public class MyAsyncInfo { public MyAsyncInfo(Byte[] array, ShellStream stream) { ByteArray = array; Stream = stream; } public Byte[] ByteArray { get; set; } public ShellStream Stream { get;
12 2023-02-15
编程技术问答社区
如何将运行在远程主机(Raspberry Pi)上的Python程序的输出连续写入本地控制台的C# SSH.NET中?
我正在计算机上的C#中编写一个程序,该程序应该在远程Raspberry Pi上启动Python程序.目前,Python代码只是每秒打印'Hello'.该程序应永久运行.当我从C#启动此程序时,如果我的程序正在运行,我想获得视觉反馈 - 我想看到像Putty一样的打印输出. 以下代码适用于ls之类的命令.但是,出于我的Python程序test.py不应该完成的原因 - 我永远不会得到输出 - 我陷入了连续的循环中. 如何实时显示输出? 这是我的代码: using Renci.SshNet; static void Main(string[] args) { var ssh = new SshClient("rpi", 22, "pi", "password"); ssh.Connect(); var command = ssh.CreateCommand("python3 test.py"); var asyncExecute =
90 2023-02-14
编程技术问答社区
SFTP-检查可用空间
我正在使用 renci ssh.net 库用于安全FTP连接.现在,我必须检查远程SFTP服务器上可用的免费磁盘空间.我该怎么做? 解决方案 正如Eugene所说的那样,SFTP协议实际上具有一个API来检查可用空间(SSH_FXP_EXTENDED请求名称space-available drard-ietf-secsh-filexfer-extensions-00 ). 但是Renci SSH.NET库不支持扩展名.还值得注意的是,大多数SSH/SFTP服务器(尤其是Openssh,因为最广泛的一项)也不支持此扩展.因此,客户端支持在这里无济于事. 正如萨尔瓦(Salva)评论的那样,另一方面,Openssh支持statvfs@openssh.com专有扩展,其功能与space-available非常相似. Renci ssh.net库也支持(通过SftpClient.GetStatus).因此,如果您确定您可以使用OpenSSH服务器,则可以使用它.
28 2023-02-14
编程技术问答社区
SSH.NET中的MySQL端口入侵-试图以其访问权限所禁止的方式访问一个套接字。
在我的VS上安装了Plesk.此后,我无法设置SSH-Tunnel来从其他服务器数据库中获取数据.将SSH.NET与以下代码一起使用. (该代码在本地起作用).配置为允许在Plesk防火墙中进行端口3306的通信.关于如何解决此问题的任何建议? 错误: [socketException(0x271d):试图访问一个插座 禁止其访问权限禁止的方式] 代码: DataTable dt = new DataTable(); string IP = "ssh.xxxxxxxx.xxx"; string Username = "xxxxxxxxxx"; string password = "xxxxxxxxxx"; var connInfo = new Renci.SshNet.PasswordConnectionInfo(IP, Username, password); using (var sshClient = new Renci.SshNet.SshClient(c
8 2023-02-14
编程技术问答社区