题
目前我们使用FTP,但有要求使用SFTP。根据我们的 Basis 人员的说法,SFTP 将无法工作。我们有几种选择:
- 使用PI
- 使用 Unix 脚本移动文件
然而,我们是否缺少一些东西可以让我们以与 FTP 类似的方式使用 SFTP?
调用FTP的代码示例:
CALL FUNCTION 'HTTP_SCRAMBLE'
EXPORTING
SOURCE = i_password
sourcelen = dstlen
key = c_key
IMPORTING
destination = lw_password.
CLEAR: ftp_hdl, o_file.
CALL FUNCTION 'FTP_CONNECT'
EXPORTING
user = i_user
password = lw_password
host = i_host
rfc_destination = c_rfcdest_sapftp
IMPORTING
handle = ftp_hdl
EXCEPTIONS
not_connected = 1
OTHERS = 2.
RFC 目的地 c_rfcdest_sapftp
SM59中定义如下:
连接类型:T (TCP/IP)
激活类型:从前端工作站启动
程序:sapftp(该程序有 SFTP 变体吗?)
启动类型:默认网关
解决方案
奇怪的是,SAP 并不支持开箱即用的 SFTP。据我了解,PI 将使用 FTPS(我相信这是不同的) 至少有一家公司向 PI 出售第三方附加组件以使用 SFTP。快速谷歌一下就会找到它。这就是我们在这里必须做的事情,以便在不调用操作系统脚本的情况下获取 SFTP 和 PGP 加密文件。
编辑:这不再是一个真实的陈述。请参阅下面的评论。
其他提示
起初我认为这也很烦人,SAP PI 无法处理 SFTP。无论如何,如果你看一下协议,就会发现它是通过 ssh 建立隧道的 ftp。目前,安全社区正在转向 ftps,因为该协议不允许其他协议的隧道传输,因此被认为更安全。也许您应该考虑建立 ftp,因为它是一个不错的选择。如果您仅使用 PI 作为公司内部的中间件,或者您没有任何可从外部访问的 FTP 服务,那么这是切换到 ftps 的好机会。
问候
马蒂亚斯·奈斯尔
不隶属于 StackOverflow