These instructions will allow you to connect as user1 on machine FROM to user2 on machine TO without typing your password for the ssh
and scp
commands. This can be very useful when doing batch copies (e.g. using batch_run.pl
to copy many directories of breseq
results) or for machines that you constantly find yourself needing to login to.
Step 1: Log into machine FROM as user1. Run the ssh-keygen
command. Leave the passphrase empty. (Just hit return when prompted for the passphrase.)
$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/user1/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/user1/.ssh/id_rsa. Your public key has been saved in /home/user1/.ssh/id_rsa.pub. The key fingerprint is: d2:e1:78:ac:c1:13:01:f2:a7:84:94:7d:a6:06:f8:1a lab@backup The key's randomart image is: +--[ RSA 2048]----+ | .oo... | |..o+. o. | | ...o+o . | |E ..o+ * . | | o .. * S | |. * | | . | | | | | +-----------------+
Step 2: create the ssh directory on machine TO as user2, if it does not exist:
$ ssh user2@TO mkdir -p .ssh user2@TO's password:
Step 3: Add the key that we just created for user1 on FROM as a new line in the .ssh/authorized_keys
file in account user2 on machine TO.
$ cat .ssh/id_rsa.pub | ssh user2@TO 'cat >> .ssh/authorized_keys' user2@TO's password:
To add login to additional remote machines, repeat Step 3.