authenticationssh
I want to be able to login to a remote via ssh without having to enter the password all the time.
- How do I set it up?
- Is a different command required to execute a password-less session?
Accepted Answer
Answer
Execute this commands:
ssh-keygen
Then you’ll need to copy the new key to your server:
ssh-copy-id user@host
## or if your server uses custom port no:
ssh-copy-id "user@host -p 1234"
After the key is copied, ssh into the machine as normal:
ssh user@host
You can now login without entering a password from the particular machine you executed the commands at.
Example
not-marco@rinzwind-desktop:~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/not-marco/.ssh/id_rsa):
Created directory '/home/not-marco/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/not-marco/.ssh/id_rsa.
Your public key has been saved in /home/not-marco/.ssh/id_rsa.pub.
The key fingerprint is:
b1:25:04:21:1a:38:73:38:3c:e9:e4:5b:81:e9:ac:0f not-marco@rinzwind-desktop
The key's randomart image is:
+--[RSA 2048]----+
|.o= . oo. |
|*B.+ . . |
|*=o . o . |
| = . = |
|. o S |
|E. |
| o |
| . |
| |
+-----------------+
not-marco@rinzwind-desktop:~$ ssh-copy-id not-marco@server
not-marco@server's password:
Now try logging into the machine, with "ssh 'not-marco@server'", and check in:
~/.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
Explanation
This assumes you already can successfully connect to your server via SSH.
You’ll need to generate an SSH Keypair which will allow you to identify you as yourself without using a password. You can opt to protect keys with a passcode if you wish, but this can be left blank allowing totally password-less SSH access.
- First create your SSH Keypair by running
ssh-keygenthis will create anid_rsaandid_rsa.pubfile. Thepubfile is what goes on the servers, the private key (id_rsa) is what stays with you and is how you identify yourself. - Next copy the public key to your server with
ssh-copy-id user@serverreplacing user with your remote user and server with the machine DNS name or IP address. It’ll prompt for your SSH password, enter it and if all completes successfully you’ll be able to access the machine viassh user@serverwithout needing a password.
References
The post How to Set Up Password-Less SSH Login in Ubuntu? appeared first on Stack All Flow.
Top comments (0)