2

我正在使用 WinSCP 将一些文件传输到另一个系统,但我遇到了一些问题。因为我打算在各种设备上使用这个 C# 程序,所以键不一样,所以我想打印一个消息框或类似于用户的东西,给他们通常通过 WinSCP.com 看到的选项:

winscp> (U)pdate,(A)dd,Can(n)cel,(C)opy Key,(S)kip: Cancel

现在我正在向用户显示选项winscp.StandardOutput.ReadLine()并让他们选择返回的内容,winscp.StandardInput.WriteLine([user choice])但这似乎不起作用。我不断收到“主机密钥未验证!”。关于如何处理这个问题的任何建议?谢谢。

编辑:我相信这与 WinSCP 不等待输入有关。我将 echo 选项更改为“on”,这样我就可以看到我的响应,并且我的响应发生在 WinSCP 已经拒绝连接之后。

我目前对 WinSCP 的选择是:批量中止、确认打开、回显。

所以现在我想WinSCP是否有等待来自.exe的命令?

4

1 回答 1

2

到目前为止,我已经通过“psudo”第一个连接使其工作。我知道这不是很漂亮,人们会(并且可能应该)因为我这样做而尖叫。首先,我尝试连接到终端设备,

winscp.StandardInput.WriteLine(open scp://name:pass@xx.xx.xx.xx);

但这只是为了从终端设备获取密钥,因为我可以扫描 winscp 的输出并找到一条恰好显示该可爱密钥的消息。那么,现在知道了我的设备的 RSA 密钥,我可以提示用户:“你的 CPU 不知道这个设备......仍然连接吗?” [是/否/取消]。如果他们说是,那么我可以明确地给 winscp 我正在寻找并连接的主机密钥,

winscp.StandardInput.WriteLine(open scp://name:pass@xx.xx.xx.xx -hostkey: *****);

就像我说的那样,这不是最漂亮的,我想通过一次连接尝试来做到这一点。但是,无论怎样才能正确地完成工作?我仍在寻找更好的选择。

于 2011-12-20T16:26:58.907 回答