SFTP is an FTP implementation from openssl, it copies files to and from Unix Services.
The documentation z/OS OpenSSH User’s Guide(SC27-6806-50) is very good. It is clear, and answered most of my questions.
The ADCD implementation is not 100% complete, but it does not take much to fix it.
Background
The server runs in Unix Services. When you use “START SSHD”, it runs the started task SSHD which attaches a process in Unix Services, and then the started task ends! If you use the operator command “D A,SSH*” it will show it is running in Unix Services.
The documentation has several ways of stopping it – I just use cancel!
Messages are written to the syslog daemon.
It uses port 22. ADCD.Z24C.TCPPARMS(PROF2) has the statement
PORT ... 22 TCP SSHD* ; port for sshd daemonrver
This means that jobs SSHD* are authorised to use port 22.
Getting it working
Configure syslogd
See Setting up syslogd on z/OS.
To capture messages produced by SSHD, you need syslogd configured for SSHD. For example add to /etc/syslog.conf
*.SSHD.*.* /var/log/SSHD
Generate the missing certificates
From IBMUSER in OMVS, I issued
/usr/sbin/sshd -f /etc/ssh/sshd_config
This reported two cipher specs were missing. I used the command
This gave me
ssh-keygen: generating new host keys: ECDSA ED25519
Starting the sshd server
Use the operator command D A,SSH* to see if it is already running. if you want to restart it, cancel it using the operator command C SSHD…
Issue the operator command start SSHD. The started task will start, and then end, but will leave a Unix Services task running.
Note: After IPL, D SSH* gives
SSHD SSHD *OMVSEX OWT SO A=0042 PER=NO SMC=000 WUID=STC03715 USERID=START1 WKL=STARTED SCL=STCLOM P=1
after SSHD is cancelled and restarted the output is
SSHD3 STEP1 START1 OWT AO A=0034 PER=NO SMC=000 WUID=STC03701 USERID=START1 WKL=SERVERS SCL=SRVOMVS P=1
so its workload behaviour may be different.
Use it
From my Linux machine I was able to use sftp colin@10.1.1.2 .