User Tools

Site Tools


cs101:sftpfromlinux

This is an old revision of the document!


How to transfer files between Linux/Mac computers using SFTP from the Command Line

This information is provided for the Ubuntu/Debian editions of Linux used in the CS Department. Other Linux versions may vary.

What Is SFTP?

In Linux, you can use the Secure File Transfer Protocol (SSH File Transfer Protocol) (SCP) from the command line (CLI) (the sftp command) to securely copy files and directories between remote hosts.

In most cases, SFTP is preferable to FTP because of its underlying security features and ability to piggy-back on an SSH connection. FTP is an insecure protocol that should only be used in limited cases or on trusted networks. FTP is NOT available on CS Department computers.

How to Connect with SFTP

You can establish a SFTP connection by issuing the following command:

sftp [options] remote_username@remote_host

You will connect the the remote system and your prompt will change to an SFTP prompt.

  • Name of the account on the host computer (remote_username)
  • Hostname (i.e. FQDN) of the computer on which the source file resides (remote_host)

Options can include things like [-oPort=custom_port] if not connecting to the standard SSH port 22.

Once connected to the remote host, you can navigate around the remote file system with commands similar to the Unix/Linux Shell.

  • pwd: show remote working directory.
  • ls: view contents of the current remote directory.
  • cd: change remote directory.

You can direct commands towards the local file system by preceding them with an “l” for local.

  • lpwd: show local working directory.
  • lls: view contents of the current local directory.
  • lcd: change local directory.

Transferring Remote Files to the Local System

To download a file from the remote host.

get remote_filename

To download a file from the remote host and rename.

get remote_filename new_local_filename

To download a directory and it's contents.

get -r remote_directory

To preserve full file permissions and access times during the copy, use the -p flag.

get -p remote_filename
cs101/sftpfromlinux.1599190453.txt.gz · Last modified: 2020/09/03 22:34 by localadmin