SCP protocol

Summary

SCP is a legacy file transfer protocol, or rather a command-line program, an analog of rcp that runs over a secure SSH channel. SCP has a very limited feature set and only supports file transfer. In most cases, using SFTP is a better choice.

SCP capabilities

SCP is capable of

  • uploading or downloading a single file and
  • uploading or downloading a whole directory tree.

Minimal SCP shell

Unlike SFTP, SCP doesn't provide a full remote filesystem API. On the contrary, it only supports basic file-transfer operations such as upload and download of a file or directory.

To overcome this limitation, some SCP clients use other shell commands in addition to ‘scp’ when accessing a remote filesystem. To address this scenario, our SCP module provides a minimal SSH shell that supports a subset of common Unix shell commands and only provides access to the current user's virtual filesystem (just like the SFTP module).

Supported commands include: ls, dir, cd, pwd, mkdir, rmdir, cp, mv, echo, whoami, uname, hostname, set, exit.