To effectively use the cluster resources, you will need to ensure that all the compute nodes have the ability to authenticate you, without you ever needing to send your password over the network. This is achieved by setting up an ssh key pair, generated using the RSA algorithm.
Setting up your ssh keys only needs to be done once.
Connect to Gateway Server
Connect to one of our gateway nodes using the username and password provided to you by the SCU. In this example, we are using pascal:
ssh <your-scu-username>@pascal.med.cornell.edu
Create your Key pair
First, check if you don't already have ssh keys set up:
ls ~/.ssh
If the output shows the files id_rsa
and id_rsa.pub
, you already have keys in place. Skip the following command and continue to authorizing your key.
If the output did not show those files, generate them with the following command:
ssh-keygen -t rsa
Follow the instructions on screen. Accept the default location. This will create two new files: id_rsa
and id_rsa.pub
, your private and public keys, respectively.
While your public key in id_rsa.pub can be shared freely, your private key in id_rsa must be kept secret. If another person gains access to this file, they will be able to impersonate you thereby accessing all of your files.
Authorizing your key
SCU has a shared home directory which will allow key-based authentication across all HPC nodes. For this to work add the public key you generated to your authorized_keys file.
cd ~/.ssh cat id_rsa.pub >> authorized_keys
This will create the file if it does not already exist.
After this step you will be able to access SCU infrastructure without a password.
Avoiding Fail2ban and SSH Proxy
Host *.pbtech # this will allow connecting to internal HPC network User scu_ldap_username # change to your user name ProxyCommand ssh -W %h:%p scu_ldap_username@gateway.med.cornell.edu #allows automatic proxying to HPC network - change to aphrodite, pascal, or aristotle ControlMaster auto ControlPersist 60 ServerAliveInterval 120 IdentityFile ~/.ssh/your_private_key # by default ~/.ssh/id_rsa will be tried though use this if you named it something else Host *.med.cornell.edu # this will allow connecting to gateway servers User scu_ldap_username # change to your user name ControlMaster auto ServerAliveInterval 120 ControlPersist 60 IdentityFile ~/.ssh/your_private_key # by default ~/.ssh/id_rsa will be tried though use this if you named it something else
Related articles