我们目前为Linux-to-Linux设置了基于SSH的文件传输脚本,我们将它们移植到z / OS以转到z / OS-to-Linux。请注意,这是使用USS,z / OS中的UNIX系统服务,也称为OMVS,它使用EBCDIC,不使用ASCII的zLinux。
我们已经设置了所有SSH密钥文件和什么不是,并且传输本身工作正常。
然而,凭借无限的智慧,z / OS坚持将文件从EBCDIC转换为ASCII,尽管它们是二进制文件 - 这会搞砸目标文件的内容。
z / OS上的scp
联机帮助页指出:
scp 假设文件是文本。在EBCDIC和ASCII平台之间复制的文件 转换。
我在手册中找不到任何有用的信息,表明如何解决这个问题。
对于想要在两个平台之间传输二进制文件的人来说,这似乎是一个奇怪的限制。有没有人知道一种方法,使用SSH标准密钥文件(我们需要这个安全性,不允许裸FTP),实现二进制传输而不用翻译?
答案 0 :(得分:4)
您可以使用其他基于SSH的工具,例如sftp
。
scp
允许您使用以下内容传输文件(使用自动身份验证设置):
scp -i ident_file zos_file linux_user@linux_box:linux_file
你可以用安全的FTP做类似的事情:
sftp IdentityFile=ident_file -b - linux_user@linux_box <<EOF
binary
put zos_file linux_file
EOF