Schönen guten Morgen.

Wir verwenden hier das OPENSSH mit Expect.
Wir haben uns da ein Script gebastelt/kopiert mit Umgebungs-Variablen:
---
#!/usr/local/bin/expect -f

log_file -a -noappend $env(SSH_LOG)
set timeout 20
spawn sftp $env(SSH_USER)@$env(SSH_HOST)
expect {
default {exit 2}
"continue connecting (yes/no)?" {send "yes\n"; exp_continue}
"assword:" {send "$env(SSH_PASS)\n"; exp_continue}
"sftp>"
}
send "put $env(SSH_FILE)\n"
expect {
default {exit 2}
"not found" {exit 3}
"sftp>"
}
send "quit\n"
exit 0
---


In einem CLP befüllen wir die Umgebungsvariablen inkl. Aufrufbefehl für die QSH

z.B.:

CHGVAR VAR(&CMD) VALUE('PATH=$PATH:/usr/local/bin: +
&& expect -f /Expect/Scripts/sftpput.sh')
ADDENVVAR ENVVAR(SSH_LOG) VALUE(&LOG) REPLACE(*YES)
ADDENVVAR ENVVAR(SSH_FILE) VALUE(&DIRFILE) REPLACE(*YES)
ADDENVVAR ENVVAR(SSH_USER) VALUE(&USER) REPLACE(*YES)
ADDENVVAR ENVVAR(SSH_HOST) VALUE(&HOST) REPLACE(*YES)
ADDENVVAR ENVVAR(SSH_PASS) VALUE(&PASS) REPLACE(*YES)
ADDENVVAR ENVVAR(QIBM_QSH_CMD_OUTPUT) +
VALUE('NONE') REPLACE(*YES)
ADDENVVAR ENVVAR(QIBM_QSH_CMD_ESCAPE_MSG) VALUE(Y) +
REPLACE(*YES)


Und dann gehts los:
QSH CMD(&CMD)

Funktioniert wunderbar