【发布时间】:2020-01-08 12:43:06
【问题描述】:
在使用我的 C# 代码发送 site filetype=jes 之后,我一直在对我的 JCL 进行简单的 ftp。
但是现在我需要使用 SFTP 来发送和接收文件。
我找到了 renci.SshNet 但它没有发送命令的方法。
谁能告诉我如何使用 C# 将 JCL SFTP 到大型机?
解决这个问题的最佳方法是什么?
【问题讨论】:
在使用我的 C# 代码发送 site filetype=jes 之后,我一直在对我的 JCL 进行简单的 ftp。
但是现在我需要使用 SFTP 来发送和接收文件。
我找到了 renci.SshNet 但它没有发送命令的方法。
谁能告诉我如何使用 C# 将 JCL SFTP 到大型机?
解决这个问题的最佳方法是什么?
【问题讨论】:
.NET 不支持开箱即用的 SFTP(不要与 FTPS 混淆)。您必须依赖 3rd 方库。在此处查看相关问题:SFTP Libraries for .NET
【讨论】:
您所述问题的答案是您需要FTPS 而不是SFTP 来支持JES 扩展以进行作业提交和检索(以及其他z/OS 特定功能)。
这是一个article,它详细介绍了 c# 中的 FTPS。使用SITE 命令的命令序列与您在 FTP 下使用的命令序列相同。
为了比较 SFTP 和 FTPS,这里有一些信息。
在来自 Share 的 z/OS 上找到这个 link 关于 FTPS 设置。这应该让你开始。它似乎比去知识中心更实用和应用,并展示了各种选项和功能。原作者 Alfred B Christensen 是一名 IBM 员工。该材料来自 2011 年,但在今天仍然主要适用。
以下是技术比较:
这里有一些背景。
问题是 ...sftp understands a set of commands subcommands similar to those of ftp. 根据链接的 IBM SFTP 手册。 IBM 提供的sftp 服务器实现没有FTP Server 提供的全套扩展
还有其他带有相关客户端的服务器可以提供该功能。我不认可这个产品,但它似乎在谷歌搜索中很受欢迎我已经完成了Tectia IBM 的sftp server 的默认实现不支持与ftp 相同的扩展。
如果您正在寻找无缝过渡并需要传输安全,ftps 是一个更好的选择,但可能需要在 z/OS 系统上进行配置(如果尚未启用)。
问题不仅在于客户端,还在于 z/OS 上 sftp 实现的能力。
【讨论】:
IBM 的原生 SFTP 不支持 FTP 的所有功能。您将需要使用来自 Dovetailed 的 Co:Z toolkit SFTP。它可以免费使用,并提供付费支持。
【讨论】: