I'm working on a (Debian) Dreamhost VPS, and it seems to want password-based authentication only: adding my RSA and DSA public keys to ~/.ssh/authorized_keys
did not change the behavior of requiring a password to log in.
How can set the server up so it can accept ~/.ssh/authorized_keys
?
You will need to edit
/etc/ssh/sshd_config
as follows:Additionally, if you want to disable password authentication alltogether (which is usually a good idea, if you use keypairs), add the following:
After that, restart ssh by issueing
/etc/init.d/sshd restart
and you should be fine!The above assumes you have already properly created the
.ssh
dir with the proper permissions.This means you set
chmod 0700
to~/.ssh
.Here are the steps: 1. Upload your public key to the site and add it to the ~/.ssh/authorized_keys file. 2. Ensure that the authorized keys has attributes of 0600 (chmod 0600 ~/.ssh/authorized_keys) 3. Now try to ssh, if you using putty, run the pageant and load your private key.
Also check owner and permission on your home directory. You must own your home directory and permission should not be more than 755.
These settings are unusual, but it is difficult to understand when it happens.
Pub keys go in "authorized_keys2", note the 2. As someone else posted above, you can adj the sshd configuration to use your "authorized_keys" file if you wish.
This was also causing me issues on a server which our SysAdmins use as a jumphost. It was pointed out to me that each user has to be created locally, such that
/home/user[123]/authorized_keys
has to exist and contain their pub key. Said file needs to be chown'ed as user1:user1.Creating ~/.ssh/config locally, on the near host, also helps connect faster and define a useful option, namely 'EscapeChar ~'
This may or may not be necessary,
chmod 0600 /user1/.ssh/authorized_keys
andchmod 0700 /root/.ssh/
. It did not help me during my first attempts to troubleshoot.Edit /etc/ssh/sshd_config and uncomment: