首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过WinSCP/SSH隧道从C#上传文件

通过WinSCP/SSH隧道从C#上传文件
EN

Stack Overflow用户
提问于 2018-08-15 02:26:48
回答 1查看 588关注 0票数 0

我使用Windows服务器上的WinSCP桌面应用程序作为物理接口,将文件上传到Linux服务器。我使用SCP协议,在Advanced options中,我在连接到安全服务器时传递一个SSH命令ssh username@ipaddress,以隧道方式连接到我想要上传文件的服务器。这允许我通过Linux安全服务器将文件直接从Windows上传到端点Linux文件服务器。

源Windows服务器->安全Linux服务器->目标Linux服务器

使用此Session.ExecuteCommand方法/,我可以使用C#成功上传或发送命令。但是,当我发送命令ssh username@ipaddress时,我的脚本挂在那里。我认为会话上下文在那里发生了变化,需要发生一些异步的C#魔术。

我可以使用以下命令成功地发送异步SSH命令:https://csharp.hotexamples.com/examples/Renci.SshNet/SshClient/CreateCommand/php-sshclient-createcommand-method-examples.html#0x12a75b3c713031851a6d9f2c47732ffcab6bad015f554fa89ef604d333290d4a-28,,45

我需要C#的等价物才能模拟我的桌面WinSCP应用程序,我在其中传递SSH命令ssh username@ipaddress,以便从源Windows服务器通过Linux Security server自由地上传到远程Linux文件服务器。

可以组合这些示例来创建我需要的C#代码吗?通过异步命令的WinSCP会话/SSH隧道。我很熟悉的例子,请帮帮忙!

EN

回答 1

Stack Overflow用户

发布于 2018-08-19 15:55:00

WinSCP图形用户界面中“外壳”选项的WinSCP .NET程序集中的等价物为:

代码语言:javascript
复制
sessionOptions.AddRawSettings("Shell", "ssh username@ipaddress");

参见raw site settings

WinSCP图形用户界面可以为您generate a code template

尽管这可能有些夸大其词,但请参阅Tunnel page of its Advanced site settings dialog,因为WinSCP具有内置的SSH隧道支持。

与此对应的C#是:

代码语言:javascript
复制
sessionOptions.AddRawSettings("Tunnel", "1");
sessionOptions.AddRawSettings("TunnelHostName", "example.com");
sessionOptions.AddRawSettings("TunnelUserName", "john");
sessionOptions.AddRawSettings("TunnelPasswordPlain", "password");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51847688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档