CMS, SSH, SCP and SFTP Support for z/VM
Sine Nomine is pleased to announce the availability of SSH v2, SCP and SFTP utilities for CMS systems. The commands provide the ability to perform encrypted file transfer and terminal sessions from CMS to other hosts supporting the SSH, SCP and SFTP protocols. Learn more about CMS.
***Our SSH v2 works with CMS***
The package provides:
– Code to implement the SSH v2, SCP and SFTP applications
– Full VM help files for all utilities, including CMS TASK help files, examples and Documentation.
– Installation with simple CMS commands
– Compatible with commercial and freeware Unix, Windows and other platform implementations of the SSH suite
How do I obtain the package?
CMS SSH, SCP and SFTP are available for purchase only.
To help you decide whether the CMS SSH, SCP and SFTP tools are right for your organization, please examine the samples using the links below. These samples are actual help files from the product which demonstrate the encrypted terminal sessions and file transfer capabilities of the product.
PTERM is a line-mode terminal emulator for the CMS SSH package. It provides a way to interact with a terminal session over an encrypted channel. PTERM operates only in line mode; it does not provide 3270 or VT100 emulation.
PTERM Sample
PTERM may be invoked in three ways:
- With the command(s) on the command line
- An interactive session where commands may be entered
- With the specification of a file containing commands to be executed by the remote target
Command Line
For example, to connect to a remote target using a private key (the CMS file ECDSA PPK on any accessed disk) and executing the command “ls *.c” PTERM is invoked as follows:
pterm -i ecdsa.ppk neale@example.com ls *.c
crjl.c
dump.c
lic.c
mono-hwcap-s390x.c
njeDump.c
ssh2trnk.c
sshecc.c
sshsha.c
staging.c
stfle.c
test.c
unwind.c
Ready;
Interactive Session
For example, to invoke an interactive session using a private/public key pair (note your local terminal settings may result in VTxxx or similar escape sequences appearing):
pterm -i ecdsa.ppk neale@example.com
Using username “neale”.
Last login: Thu Feb 16 21:04:02 2023 from
[neale@cts7xdev ~]$
stty -echo
stty -echo
[neale@cts7xdev ~]$
pwd
/home/neale
[neale@cts7xdev ~]$
TERM=dumb
[neale@cts7xdev ~]$
w
21:07:18 up 2 days, 14:19, 1 user, load average: 0.06, 0.10, 0.07
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
neale pts/0 snavm1.devlab.si 21:05 6.00s 2.14s 0.17s w
[neale@cts7xdev ~]$
exit
logout
Ready;
Batch
Using the file “PTERM BATCH”:
PTERM BATCH A1 F 80 Trunc=80 Size=4 Line=1 Col=1 Alt=0
====>
|…+….1….+….2….+….3….+….4….+….5….+….6….+….7..
pwd
w
date
exit
* * * End of File * * *
PTERM is invoked using a private key:
pterm -i ecdsa.ppk -m pterm.batch neale@example.com
/home/neale
21:10:07 up 2 days, 14:22, 0 users, load average: 0.10, 0.10, 0.07
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
Thu Feb 16 21:10:07 EST 2023
Ready;
PSCP is a CMS implementation of the popular scp command available in many other environments. It provides a command-line client for
encrypted file transfer between hosts originating from CMS to other machines. The client is able to translate between multiple code pages.
PSCP Sample
PSCP enables the secure copying of files to and from a remote site. Wildcard characters are supported for both local and remote files.
Examples
- In this example the PSCP command is used to transfer a file from a remote target using a private key (the CMS file ECDSA PPK which resides on an accessed disk/filespace). Note, no translation is performed:
pscp -i ecdsa.ppk [mailto:neale@example.com:unwind.c]neale@example.com:unwind.c unwind.c.b
unwind.c.b | 1 kB | 1.3 kB/s | ETA: 00:00:00 | 100%
1321 bytes transferred
- In this example, we use wildcarding to transfer all files on the ‘B’ disk with a filetype of ‘ASSEMBLE’ and the first two characters of the filename ‘DR’ to a remote target using private key. The files are translated to codepage ISO8859-1 from IBM-1047:
pscp -cp iso8859-1:ibm-1047-i ecdsa.ppk dr*.assemble.b neale@example.com:.
dridftr.assemble | 3 kB | 4.0 kB/s | ETA: 00:00:04 | 18%
dridftr.assemble | 21 kB | 21.9 kB/s | ETA: 00:00:00 | 100%
22400 bytes transferred
drrxgpd.assemble | 3 kB | 4.0 kB/s | ETA: 00:00:14 | 6%
drrxgpd.assemble | 63 kB | 63.0 kB/s | ETA: 00:00:00 | 100%
64560 bytes transferred
drrxvsw.assemble | 3 kB | 4.0 kB/s | ETA: 00:00:11 | 7%
drrxvsw.assemble | 51 kB | 51.0 kB/s | ETA: 00:00:00 | 100%
52240 bytes transferred
drutalt.assemble | 3 kB | 4.0 kB/s | ETA: 00:00:03 | 21%
drutalt.assemble | 18 kB | 18.4 kB/s | ETA: 00:00:00 | 100%
18880 bytes transferred
drutorg.assemble | 3 kB | 4.0 kB/s | ETA: 00:00:05 | 16%
drutorg.assemble | 24 kB | 24.5 kB/s | ETA: 00:00:00 | 100%
25120 bytes transferred
Ready;
The PSFTP command is used to create an interactive or batch session with a remote target and perform secure file transfer.
Examples
- Start an interactive session with a remote host and transfer a file ‘unwind.c’ to the disk/filespace accessed as ‘B’ on the CMS system. Perform standard ASCII/EBCDIC conversion:
psftp -i ecdsa.ppk neale@example
Using username “neale”.
Remote working directory is /home/neale
psftp>
pwd
Remote directory is /home/neale
psftp>
ascii
Transfer in ASCII mode
psftp>
get unwind.c unwind.c.b
remote:/home/neale/unwind.c => local:unwind.c.b
psftp>
exit
Ready;
- Using a file ‘PSFTP BATCH’ containing a batch of commands for PSFTP
PSFTP BATCH A1 F 80 Trunc=80 Size=4 Line=1 Col=1 Alt=0
====>
|…+….1….+….2….+….3….+….4….+….5….+….6….+….7..
pwd
ascii
get unwind.c unwind.c.b
exit
* * * End of File * * *
Connect using a private key to a remote target:
psftp -i ecdsa.ppk -b psftp.batch neale@example
Using username “neale”.
Remote working directory is /home/neale
Remote directory is /home/neale
Transfer in ASCII mode
remote:/home/neale/unwind.c => local:unwind.c.b
Ready(00002);