Your browser does not support HTML5 local storage or you have disabled it. Some functionality on this site, including saving your privacy settings and offering you special discounts, uses local storage and may not work with local storage disabled. We recommend allowing the use of local storage in your browser. In some browsers, it is the same setting used for disabling cookies.

SSH

Debugging File Transfer

The return codes and error messages should be sufficient to explain most errors. Check that the code and message are correct by looking at the results:

  • Was the file transferred OK but the error code wrong?

  • Was the error code 0 but the file corrupted?

To diagnose file transfer problems, take a trace. If possible, also take a trace of a similar but successful run and compare the two traces. To get traces that can be compared with a diff command, use a trace format without "%Dx" or "%p" specifiers:

SSH_DEBUG_FMT=" %m/%s:%n:%f %M"

To trace the generic file transfer level, use the debug string 'sftp*=14'.

To trace the z/OS low level, use the debug string '*mvs*=7'.

To trace both, use 'sftp*=14|*mvs*=7'.

To get the trace for the client end, put the debug string on the command line, for example:

$ sftpg3 -D "sftp*=14" user1@www.example.com 

To get the trace for the server end when using sftpg3, use the debug command:

sftp> pwd
sftp> lpwd
sftp> debug 'sftp*=14|*mvs*=7
sftp> sput tmp.txt //TMP.TXT
sftp> debug 1

To get the trace for the server end when using scpg3, create, on the remote machine, the file $HOME/.ssh2/environment, and put in a line like this:

SSH_SFTP_DEBUG=sftp*=14

To make the debug at the server end go into a HFS file at the server, add this line in the $HOME/.ssh2/environment file:

SSH_SFTP_DEBUG_FILE=/tmp/my-debug.txt

===AUTO_SCHEMA_MARKUP===