Skip to content

Uploading Data

Set Up Passwordless SSH

It is convenient to set up password-less SSH login to the cluster. This avoids retyping your password each time you want to transfer any data. This is also a necessary step if you want to set up SSHFS (see below).

Mac/Linux/Windows 10

In systems with ssh-id-copy command the instructions can be found here. In OSX you have to transfer the public key file manually using the following command:

cat ~/.ssh/id_rsa.pub | ssh your-userID@hopper.orc.gmu.edu "mkdir -p ~/.ssh; cat >> ~/.ssh/authorized_keys

You also must make sure your key file does not conflict with already existing keys or that you do not overwrite the authorized_keys file.

Windows pre Windows 10

Putty-keygen.png
Creating an ssh key with Putty Keygen.

In order to login to your Hopper account using PuTTY without having to type in your password each time, you have to set up a key-file based authentication. First, download Putty from the GMU ITS downloads page. Save the file to your local disk. Open it, keep the default settings (SSH-2 RSA) and click the generate button. Do not add any additional passphrase. Save the file to a location of your choice. Now open PuTTY and login to your Hopper account as you normally would by typing your password. After you have logged in, go to the .ssh directory by typing:

cd ./.ssh

Private-ssh-key.png
Public key portion of a putty ssh key.

The directory should contain a file called authorized_keys (if not, you may need to send email to orchelp). Open the authorized_keys file -- you can use any command line unix text editor such as

vi or nano to do that:

nano authorized_keys

After which, open the saved key file on your computer, copy the public key portion (under the public-lines) and paste it in the authorized_keys file. Now add the keyword "ssh-rsa" at the beginning. The public key that you inserted may span multiple lines. You need to delete the carriage return at the end of each line and merge them into a single line. For a detailed tutorial on how to set up password-less ssh from windows, you may visit ssh-without-password-using-putty.

Author-keys-ssh.png
Editing the authorized_keys file.

Transferring Data

Mac/Linux/Windows 10 (SCP)

Data, scripts and executables can be transferred via the scp command on UNIX-based systems. For example,

scp your_local_file_path userID@hopper.orc.gmu.edu:~/your_cluster_folder_path

For downloading, just switch the source and destination paths. You can use the -r option to copy entire directory.

Windows Pre Windows 10

WinSCP-login.png
WinSCP Login.

Transferring using WinSCP

Logged_in.png
Logged In.

WinSCP is a user friendly, GUI based SSH transfer client. You can download WinSCP from winscp.net. Install and connect by providing your Hopper login credential as shown in the screenshots.

After logging into WinSCP, all you need to do is drag-n-drop from the left to right to transfer files.

Transferring using PSCP

Download PSCP from the PuTTY download page. It is a command line program, so you have to open it inside command-prompt (cmd.exe). You can only use the pscp command if the pscp executable is in your current directory. In order for Windows to recognize the command you need to add the path of the pscp executable to your environment variables list. You can access the environment variables by going to My Computer → Properties → Advanced System Settings → Environment Variables → System Variables → Path. You then select the PATH attribute and click the edit button to edit it. Append the absolute path of the pscp executable at the end of your current path string (do not replace the current path string). Click OK after you have finished editing. Note, you may need to restart your computer for the changes to take effect. Now open cmd.exe and type in the following command to transfer files to/from Hopper.

pscp [options] [user@]host:source target

For example,

pscp your-userID@hopper.orc.gmu.edu:~/ c:\path\to\your\local\file.txt

Tutorial for how to use PSCP can be found here

Transferring Data Using SSHFS(Optional)

You can install SSHFS (SSH File system) to mount remote volumes / folders in your local drive. For example you can type the following to mount your Hopper home directory as a local folder in your desktop. You can then directly edit files stored in your home folder on the cluster. Note, you need to set up password-less ssh before you can mount using SSHFS.

Mac/Linux

sshfs -p 22 userID@hopper.orc.gmu.edu: ~/Desktop/MyHopperHome/

To unmount, use the umount command:

umount ~/Desktop/MyHopperHome/

Windows

Tutorial for setting up SSHFS on windows can be found at mounting remote file systems.