Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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?

share|improve this question

4 Answers 4

up vote 12 down vote accepted

You will need to edit /etc/ssh/sshd_config as follows:

# Both of these are probably already there, but commented
PubkeyAuthentication yes
# The next line makes sure that sshd will look in 
# $HOME/.ssh/authorized_keys for public keys
AuthorizedKeysFile      %h/.ssh/authorized_keys

Additionally, if you want to disable password authentication alltogether (which is usually a good idea, if you use keypairs), add the following:

# Again, this rule is already there, but usually defaults to 'yes'
PasswordAuthentication no

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.

share|improve this answer

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.

share|improve this answer
1  
This is incorrect and not really an answer to the question: 1) The question author has already indicated that he created the authorized_keys file. 2) authorized_keys should be flagged with 0644, not 0700. –  Aron Rotteveel Sep 17 '11 at 13:59
1  
ARAIR authorized_keys should be 0600 and .ssh should be 0700. And I believe this is correct answer, as (from my experience) in 99% cases publickey auth does not work to due to options in sshd_config, but due to wrong permissions. –  rvs Sep 17 '11 at 14:03
1  
@rvs seems that 0600 works fine indeed as well, so you're right. Chmod 0700 on .ssh is of course still necessary. –  Aron Rotteveel Sep 17 '11 at 14:09

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.

share|improve this answer

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.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.