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:
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:
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:
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.