Enough of entering always the SSH password for an SSH login in your terminal? Follow this fast tutorial to get rid of this problem and enable your SSH login without a password.
On Mac OS X you have to install
ssh-copy-id, Linux users should have this already. Simple run the following commands to get it work on your system.
Perhaps you have to create this folder on OS X or some Linux distributions:
mkdir -p /usr/local/bin/
Download the binary from GitHub:
sudo curl https://raw.githubusercontent.com/beautifulcode/ssh-copy-id-for-OSX/master/ssh-copy-id.sh -o /usr/local/bin/ssh-copy-id
Grant access to run the file with the chmod +x:
sudo chmod +x /usr/local/bin/ssh-copy-id
Now it’s time to generate your RSA key-pairs!
Run this command – there is no need to change the location (default: ~/.ssh/id_rsa.pub) and you don’t have to enter a passphrase.
ssh-keygen -t rsa
You will get an output like this:
Generating public/private rsa key pair. Enter file in which to save the key (/Users/USERNAME/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /Users/USERNAME/.ssh/id_rsa. Your public key has been saved in /Users/USERNAME/.ssh/id_rsa.pub. The key fingerprint is: 4b:2f:fa:3a:19:74:24:2b:f1:52:e6:61:ab:53:ce:d3 YOUR_USERNAME@Gorath.local The key's randomart image is: +--[ RSA 2048]----+ ... +-----------------+
Finally you have to use the ssh-copy-id command to store your password for the SSH login. Enter your SSH password when you get asked.
Please use your USERNAME and the HOST for the SSH Login (this could be a domain or an IP address). Do you have a different port? 22 is default, at this point you could change it with -p PORTNUMBER.
ssh-copy-id -i ~/.ssh/id_rsa.pub "-p 22 USERNAME@HOST"
Now try to login:
ssh -l USERNAME HOST
Does it work? Congratulations! And by the way, please don’t do this with a root login :-)