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 have an Ubuntu Server running on an EC2 instance. To login to that server I use a certificate file without any password.

I've installed and configured vsftpd and created a user (let's call him "testuser") for which I've set a /bin/false ssh terminal so it will only be able to connect via sftp and upload/access files on his home directory.

However - when I try to connect to the server from my computer, running

sftp testuser@my-ec2-server

I get

Permission denied (publickey).
Connection closed

messages so I can't log in.

How can I remove the certificate requirement for this user only (meaning, the "ubuntu" user will still have to use the certificate file to login via ssh), so normal sftp clients will be able to connect using a username and a password ?

Thank you.

PS Using Ubuntu Server 10.10 official AMI from canonical, 64bit on a micro instance.

share|improve this question

1 Answer 1

up vote 4 down vote accepted

In order to accomplish what you wish, you need to do two different things

  1. Change sshd config to accept passwords

I shall say first of all that it's a bad idea to do this, I would rather generate a certificate for your user than activate passwords, nonetheless if you want to do so just edit /etc/ssh/sshd_config and change or uncomment it so it shows PasswordAuthentication yes. Once that is done restart sshd service ssh restart

  1. Let users just FTP using sftp and not have shell

In order to acomplish that you need to install rsh (resticted shell) and change the user shell to it chsh username

share|improve this answer
    
I only want this specific user (testuser) who will have only sftp access, to use a password instead of a certificate. The part of not allowing that user to access via ssh, I already did by defining it's bash type as /bin/false –  Doron Feb 5 '11 at 21:43
    
Doron, you won't be able to just allow one user via passwd, you either allow password auth for everyone or for nobody. Also /bin/false won't allow sftp connections (any ssh connection needs a valid shell, that's where rsh does the trick) –  lynxman Feb 5 '11 at 21:59
1  
This didn't work for me on Ubuntu EC2, not sure what the extra step that I'm missing is, port 22 is open –  Doug Molineux Sep 12 '11 at 16:20
    
See serverfault.com/questions/154957/… to set up just the sftp user with a password... –  Raman Nov 1 '12 at 15:42

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.