我遇到了SSH连接的奇怪行为。
我已经构建了一个工具(在c#中),它使用dotnetssh lilbrary连接到SSH服务器并下载汇率。我正在使用Back Ground Worker线程来连接同步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);
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,然后禁用了防火墙。但是,它仍然没有取得价格。任何帮助将不胜感激。
谢谢, Vikas B