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?
Execute these two commands:
After the key is copied, ssh into the machine as normal
You can now login without entering a password from the particular machine you executed the commands at.
This assumes you already have successfully connected 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
Next copy the public key to your server with
I normally use
Type the following commands:
Now you should be able to login without any password.
The way I usually do this is as follows:
(When prompted for a password, leave it blank)
(This requires the folder .ssh to be in the home directory on the targeted hostname, with the authorized_keys file in it)
Of course, replace username with the desired username, and hostname with the desired hostname or IP address
After that, just SSH to that box just like you're used to.
If you create a public/pricate keypair und log in using the public key method you will not need to type your password. That is depending on the configuration of your key-ring and ssh agent.
Here is one of many short howtos for you. It is of crucial importance to the safety of this method, that the thusly generated private key remains private!
To make some additions:
find more here: https://github.com/beautifulcode/ssh-copy-id-for-OSX
note that the quotes are necessary.
Following article explains in clear and concise way. I use it myself for a quick reference.
To answer your second question. Once the password-less ssh setup is done. You just need to use exactly the same commands as before.
Please see the below article to setup the SSH keys very easily.
Use the same commands as before.
Remote login/copy without giving a password
There are three different types of authentication protocols. You specify the type when running ssh-keygen:
When running ssh-keygen you can rely on default answers (implying that you do not give a passphrase). This makes the whole set-up simple, but also insecure.
You can specify the type of keys to be used by an option to ssh;
This makes ssh try an RSA1 (protocol version 1) connection before RSA/DSA (protocol version 2).
Using RSA1 keys
Using DSA keys
This is all you have to do if you did not use a passphrase when generating the keys. You can test the connection by running ssh $remote and see if you can log in without giving a password (you may need to use
If you did use a passphrase, you will have to run the program
A script for automating password-free connections: