Difference between revisions of "UsingSSH"

From SourceWiki
Jump to navigation Jump to search
Line 43: Line 43:
 
==Distributing Your Public Key==
 
==Distributing Your Public Key==
  
Now that you have your
+
Now that you have your key-pair, you can copy your '''public key''' to any machine that you would like to connect to from the machine that you are currently logged into.  When the keys are setup correctly, you will be able to '''connect without typing your password'''.  Hurrah for the convenience!
 +
 
 +
The first step is to ensure that the permissions on your files are correct.  The following commands will take care of this:
 +
 
 +
<pre>
 +
cd ~/.ssh
 +
chmod 600 *
 +
cd ~
 +
chmod 700 .ssh
 +
</pre>
 +
 
 +
Now, let's copy your public key to the remote host of interest.  In this case, I want to be able to login '''to''' a machine called '''brian''' '''from''' one called '''dylan''':
 +
 
 +
<pre>
 +
scp ~/.ssh/id_rsa.pub brian:~/.ssh/from-dylan.pub
 +
</pre>
 +
 
 +
(I'm assuming here that your username matches on the two machines.  If not, you can prepend your username to the destination string, i.e. <username>@brian:~/.ssh/from-dylan.pub.)
  
 
==Using ssh-agent==
 
==Using ssh-agent==

Revision as of 16:59, 10 June 2009

Using SSH to connect to machines and to move data

Introduction

Using Key-Pairs

Creating the Keys

First, let's create a key-pair. Start by typing:

ssh-keygen

You will see a message like:

Generating public/private rsa key pair.
Enter file in which to save the key (/gsb6/ggdagw/.ssh/id_rsa):

The default filename suggested is fine, so accept it by hitting return.

Next you are prompted for a passphrase:

Enter passphrase (empty for no passphrase):

Think of a strong, yet memorable one and enter it. (One tip is to think of a phrase, saying, song lyric etc. For example "One small step for man, one giant leap for mankind." Then take the first letters from each word, perhaps substituting digits for letters, to create the passphrase, "Oss4mogl4m.") You will be prompted for your passphrase twice:

Enter same passphrase again: 

When the key-pair creation is completed, you will get some lines of text as confirmation, such as:

Your identification has been saved in /gsb6/ggdagw/.ssh/id_rsa.
Your public key has been saved in /gsb6/ggdagw/.ssh/id_rsa.pub.
The key fingerprint is:
37:7a:b3:81:e2:0e:fa:5e:b2:df:84:a5:fb:f9:e6:f7 ggdagw@dylan.ggy.bris.ac.uk

Distributing Your Public Key

Now that you have your key-pair, you can copy your public key to any machine that you would like to connect to from the machine that you are currently logged into. When the keys are setup correctly, you will be able to connect without typing your password. Hurrah for the convenience!

The first step is to ensure that the permissions on your files are correct. The following commands will take care of this:

cd ~/.ssh
chmod 600 *
cd ~
chmod 700 .ssh

Now, let's copy your public key to the remote host of interest. In this case, I want to be able to login to a machine called brian from one called dylan:

scp ~/.ssh/id_rsa.pub brian:~/.ssh/from-dylan.pub

(I'm assuming here that your username matches on the two machines. If not, you can prepend your username to the destination string, i.e. <username>@brian:~/.ssh/from-dylan.pub.)

Using ssh-agent

ssh-agent bash

Using ssh-keychain