WRITELOOP

CREATING SSH PUBLIC AND PRIVATE KEYS, AND USING SSH-COPY-ID TO COPY IT TO THE REMOTE DESTINATION

2013 November 29

Step 1: Create public and private keys using ssh-key-gen on local-host

$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/jsmith/.ssh/id_rsa):[Enter key] Enter passphrase (empty for no passphrase): [Press enter key] Enter same passphrase again: [Pess enter key] Your identification has been saved in /home/jsmith/.ssh/id_rsa. Your public key has been saved in /home/jsmith/.ssh/id_rsa.pub. The key fingerprint is: 33:b3:fe:af:95:95:18:11:31:d5:de:96:2f:f2:35:f9

Step 2: Copy the public key to remote-host using ssh-copy-id

(note: ssh-copy-id appends the keys to the remote-host .ssh/authorized_keys.) $ ssh-agent bash # if you’re using another shell, name it here $ ssh-add -L # check all the identities of this agent The agent has no identities. $ ssh-add ~/.ssh/id_rsa Identity added: /home/jsmith/.ssh/id_rsa (/home/jsmith/.ssh/id_rsa) $ ssh-add -L # to check if the identity was really added ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAsJIEILxftj8aSxMa3d8t6JvM79DyBV aHrtPhTYpq7kIEMUNzApnyxsHpH1tQ/Ow== /home/jsmith/.ssh/id_rsa $ ssh-copy-id -i ~/.ssh/id_rsa.pub ‘-p 22 remoteuser@remote-host’ jsmith@remote-host’s password: Now try logging into the machine, with “ssh ‘remote-host’”, and check in: $ cat .ssh/authorized_keys to make sure we haven’t added extra keys that you weren’t expecting.

Step 3: Login to remote-host without entering the password

$ ssh remote-host Last login: Sun Nov 16 17:22:33 2008 from 192.168.1.2 [Note: SSH did not ask for password.] jsmith@remote-host$ [Note: You are on remote-host here]