我被 SSH 连接的奇怪行为所困扰。
我已经构建了一个工具(在 c# 中),它使用 dotnetssh lilbrary 连接到 SSH 服务器并下载汇率。我正在使用后台工作线程将 CSV 价格与汇率同步。我用过这段代码:
事件:
private BackgroundWorker bw = new BackgroundWorker();
this.bw.WorkerReportsProgress = true;
this.bw.WorkerSupportsCancellation = true;
this.bw.DoWork += new DoWorkEventHandler(this.bw_DoWork);
this.bw.ProgressChanged += new ProgressChangedEventHandler(this.bw_ProgressChanged);
this.bw.RunWorkerCompleted += new RunWorkerCompletedEventHandler(this.bw_RunWorkerCompleted);
连接 SSH
this.shell = new SshShell(this.txtServer.Text, this.txtUser.Text);
if (!string.IsNullOrEmpty(this.txtPassword.Text))
this.shell.Password = this.txtPassword.Text;
this.shell.LogFilePath = path1; //CSV file path
this.shell.RedirectToConsole();
Console.Write("Connecting...");
this.lblStatus.Text = "Connecting...";
this.bw.CancelAsync();
if (!this.bw.IsBusy)
this.bw.RunWorkerAsync();
上述代码确保 Path1 中指定的 csv 与服务器提供的汇率保持同步。
好的,它工作正常,CSV 与 SSH 服务器链接,它继续获取速率。我在印度新德里的办公室里安装了这个工具,超过 20 台机器运行良好。但是我在我的美国客户端上的两台机器上安装了这个,发现 shell 已连接,但 CSV 没有获取价格。我只是无法猜测可能是什么原因。有什么帮助吗?
我认为这可能是安全问题,然后我卸载了 Anti Virus,然后也禁用了防火墙。但是,它仍然无法获取价格。任何帮助,将不胜感激。
谢谢, 维卡斯 B