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