​​The Cambridge Crystallographic Data Centre (CCDC).
The CCDC websites use cookies. By continuing to browse the site you are agreeing to our use of cookies. For more details about cookies and how to manage them, see our  cookie policy.

How do I set up passwordless SSH access between the nodes in my PVM cluster?

Solution

Please note that the 2019 CSD Release is the last to include the ability to use GOLD with Parallel Virtual Machine (PVM) for UNIX-based platforms. We recommend using a grid-engine based environment rather than PVM.

To run parallel GOLD using PVM, passwordless shell access (either RSH or SSH) must be set up between all of the machines that you wish to use in your PVM cluster.

RSH is far easier to configure for use with PVM, since it can operate without special configuration on each host that you wish to access. However, some users have difficulty configuring RSH access on their systems. RSH access usually fails because the RSH option has been disabled on your system. This is usually done by the systems administrator because RSH works without any host-to-host authentication and is therefore not very secure.

SSH is more secure since it uses host-to-host authentication, but it means that you have to configure your system for your user account(s) to use this secure protocol. Here is a set of instructions for setting up passwordless SSH access between two machines. We will call the machine you are using to set up and run the GOLD jobs the "master", and the machine you wish to access using SSH the "slave".

Firstly, log on to the master, change to your home directory and generate a key pair by typing

ssh-keygen

When it asks you for a pass-phrase leave it blank. This will create you a pair of files, one called "identity.pub" by default, in the directory ".ssh".

Copy your "public key" (e.g. identity.pub) onto the slave machine. You can do this with the following command:

scp ~/ssh/identity.pub <username>@<slave machine>:~/identity.master

For example:

scp ~/ssh/identity.pub joe@joes-machine.ournet.dom.country:~/identity.master

Log into the slave machine using this command:

ssh -l <username> <slave machine>

For example:

ssh -l joe joes-machine.ournet.dom.country

You will be asked for your password on the slave machine. Copy the master key (i.e. in the file identity.master in your home directory) into the slave's authorized keys file using the following command:

cat ~/identity.master >> ~/.ssh/authorized_keys

You may need to create the ~/.ssh/authorized_keys file first. Then log out, back to the master machine.

Check you can log into the slave without a password:

ssh -l  <username> <slave machine>

For example:

ssh -l joe joes-machine.ournet.dom.country

You should now be able to access the slave without a password. To set up passwordless access to the master from the slave, you need to repeat the above procedure but treating the master as the slave and vice versa.

To get PVM to work with SSH you need to set a global environment variable $PVM_RSH to ssh on all systems that you intend to use in the PVM cluster.

For example, if you use the C-shell (csh) as your default shell, in your ".cshrc" file you need to add the following line:

setenv PVM_RSH ssh