正如你所知道的,OpenSSH 可以提供更加安全、可靠的login,remote execution 以及文件传输。z/OS OpenSSH 作为 Secure Shell 在z/OS 上的实现能够提供更具特性和性能优良的数据传输。之所以说z/OS OpenSSH 更具特性,是因为z/OS OpenSSH 在实现了开源Secure Shell在UNIX平台上所具有的大部分功能的同时,充分利用了z/OS 的支持。例如,OpenSSH keys 可以存储在 RACF 中,将数据传输产生的信息记录在SMF Type 119 records以便监测传输行为以及对部分加密算法采用硬件实现。很显然,这些特性无疑会使得 z/OS OpenSSH 更加安全、可靠,而部分加密算法依靠底层硬件来实现,对于大规模数据传输来说,会在很大程度上提升传输性能。从目前掌握的信息来看,z/OS OpenSSH 或许是最受欢迎也是最流行的 IBM Ported Tools for z/OS。说了z/OS OpenSSH 这么多优点,你可能会问在实践中我们可以怎样使用它,下面就先给大家简单介绍一下在主机环境下利用 z/OS OpenSSH 传输数据的一种方法。
在 USS环境下,直接调用 z/OS OpenSSH commands 或者借助于Shell 脚本。这种方式一般是我们最常用 的, 先 rlogin 到USS 环境下(OMVS 环境不支持OpenSSH 命令),然后直接在命令行输入要执行的 z/OS OpenSSH 命 令或者预先将要执行的命令写入脚本中,再运行这个shell 脚本。下面给大家看一个具体的实例,这个例子涵盖了从最开始生成RAS key到完成最后文 件传输的整个过程。 例子中我们采用 PublicKeyAuthentication 认 证方法,我们的目标是将 Linux 服务器上的文件/home/sshtest/test 传输到主机上,Linux服务器 的 IP address 是shuttst.cn.ibm.com。我们将主机作为client端,Linux服务器作为 server 端。
第一步,我们在client端通过ssh-keygen 命令生成带有 passphrase 的 RSA Keys,具体过程如图 1-01 所示:
图 1-01
然后将生成的public key id_rsa.pub 写入 server 端的 ~/.ssh/authorized_keys 中,写好的文件如图 1-02 所示。
图 1-02
第二步,将 server 端的public key /etc/ssh/ssh_host_rsa_key.pub 写入 client 端的 /etc/ssh/ssh_know_hosts 或者 ~/.ssh/known_hosts 中。这里提醒一下,要记得将 server 端 IP address 和 host name 加在 key 值的前面,如图 1-03 所示: