On 18/07/2013 18:21, Grant wrote:
>>>>> My backup user needs a shell on the backup server in order to execute
>>>>> rsync and needs to be included in /etc/ssh/sshd_config AllowUsers in
>>>>> order to SSH in.  My authorized_keys file is locked-down.  The second
>>>>> field for the user in /etc/shadow is an exclamation point which I
>>>>> think means the user can not log in with a password.  Should I take
>>>>> any additional steps to prevent that user from logging in and not
>>>>> being subject to the authorized_keys restrictions?
>>>>
>>>> What about "PasswordAuthentication no"?
>>>
>>> Can that be set for a single user?  I have a normal user who needs to
>>> log in via SSH with a password and a backup user who only needs to run
>>> rsync via SSH keys.  If not, does the exclamation point in /etc/shadow
>>> prevent the user from logging in without the SSH key?
>>
>> Depends.
>>
>> The user doesn't have a Unix password, so if the system prompts for one
>> it cannot succeed and the login fails.
>>
>> But sshd has other implementations for authentication to, not just
>> classic Unix. If it uses PAM, then PAM could in theory do anything, even
>> using AD to authenticate with a password.
>>
>> So if your sshd config uses Unix passwords and keys ONLY (this is the
>> norm), then what you describe above does what you want. To be sure, you
>> need to audit sshd_config and your pam setup
> 
> Here is my entire sshd_config:
> 
> PasswordAuthentication no
> UsePAM yes
> PrintMotd no
> PrintLastLog no
> Subsystem sftp /usr/lib64/misc/sftp-server
> AllowUsers user1 user2
> 
> That must be the Gentoo-default except for the last line, correct?
> How is this config if I want user1 to login with a password and user2
> has no password in /etc/shadow and automatically logs in via
> authorized_keys to rsync?


Gentoo default uses a conventional PAM setup so set

PasswordAuthentication yes
PubkeyAuthentication yes

and it should work.

I don't know of any way to configure per-user auth types in sshd_config
itself, so I recommend you define exactly what you want to accomplish:

do you want to give one user a password and no key, and the other user a
key but no password, and have it just work regardless? This would be the
"convenience" approach

or do you want to enforce the auth method that a specific user must use?
This would be the "security" approach and is considerably more difficult



-- 
Alan McKinnon
[email protected]


Reply via email to