SSH (Secure Shell) refers to both a command-line interface and a protocol for securely connecting to a remote computer over a network. SFTP (Secure File Transfer Protocol) is a data transfer protocol that utilizes SSH for secure file transfers.

Linux and Mac (OS 10 and newer) computers come with SSH and SFTP client software already installed. On computers running either of those operating systems, open a Terminal window to access the local command-line interface. From that window, you can issue ‘ssh’ or ‘sftp’ as commands. A typical SSH command looks like this:

     ssh <username>@<hostname>

Connecting to a Rutgers server via SSH, you would replace <username> with your NetID. The <hostname> should be replaced with the name of the remote computer. For faculty and staff in Camden, that remote computer name is most likely going to be crabshell.rutgers.edu.

Two-factor authentication, via Duo, is required for accessing the “crabshell” server. You can enable Duo for your account at: https://it.rutgers.edu/two-step-login

When you run SSH and connect to the remote computer, it will prompt you for your password. Once you enter your password you will be prompted for a Duo passcode or select an option.  Once you’ve logged completely in, the commands you enter in that terminal window will not run on your computer, they will run on the remote computer (crabshell). If you open another Terminal window on your computer, that will be a local command-line interface (unless you run another instance of ‘ssh’ in that new window).

If you need to transfer files, you can use the ‘sftp’ command in place of the ‘ssh’ command:

     sftp <username>@<hostname>

However, after you login via sftp, you will no longer be at a Terminal command-line interface. You will be at the SFTP command-line. The SFTP program understands a set of commands that relate to different file operations. Here are some of the most common SFTP commands:

    exit   Quit sftp.

 cd path   Change remote directory to path

lcd path   Change the local directory to path

get name   Transfer the file named "name" from the remote computer to the local computer

put name   Transfer the file named "name" from the local computer to the remote computer

      ls   Display the remote directory listing

     lls   Display the local directory listing

     pwd   Display the remote directory path
    
    lpwd   Display the local directory path

If you’d like to see the full set of options and commands available when using ‘sftp’, you can view the man page (manual page) for the command on both Linux and Mac by running this command locally:

     man sftp

Although Microsoft announced that Windows 10 will eventually have native support for SSH and SFTP, those features have not yet been released. In the meantime, all versions of Windows can still run open source SSH and SFTP clients. One of the most widely used SSH/SFTP clients for Windows is called PuTTY. The documentation for PuTTY is maintained by the developers of the software.