How to Perform SSH Login Without Password Using ssh-keygen & ssh-copy-id ?
Method 1:
#Generate SSH Private/Public key pair.
ssh-keygen
# OR : ssh-keygen -t rsa -b 2048 -C "email@example.com"
#Add public key to the server
ssh-copy-id -i ~/.ssh/id_rsa.pub name@domain.com
#If you have a message like : sign_and_send_pubkey: signing failed: agent refused operation, Add the key using:
ssh-add
Method 2: (Not tested)
#/!\ For the first time only
ssh-keygen -t rsa
#For all servers
ssh name@domain.com mkdir -p .ssh
cat ~/.ssh/id_rsa.pub | ssh name@domain.com 'cat >> .ssh/authorized_keys'
ssh name@domain.com "chmod 700 .ssh; chmod 640 .ssh/authorized_keys"
A Tip
# Optionally, you can add custom commands. Example : ll alias.
echo "alias ll='ls -alFh --color=auto'" >> ~/.bashrc;
Remove a key (On server)
- Login to the server
- Edit file
.ssh/authorized_keys
, Delete the unwanted key
NOTE : Permission
If the .ssh/id_rsa file hasn't correct permission you can't login, set permission to 0700
NOTE : Usage on Windows
This method is working for the cli on Windows like CygWin, Git Bash ... (Not tested on windows command prompt, putty ...)
Comments