Providing a system user with an ability to log in to a server using SSH public key does not work.
The home directory of each SSH user in Plesk is write-protected.
Permissions of the file
authorized_keys are incorrect.
Since Plesk 12.0.18 and above such functionality can be managed with SSH Keys Manager extension. Go to Home > Extensions > Extenstions Catalog and install SSH Keys Manage.
Note: Make sure that the file
authorized_keys has correct permissions. It should be accessible only by the owner:
$ ls -l ~/.ssh/authorized_keys
-rw------- 1 ftpuser psacln 399 Jul 15 2016 /var/www/vhosts/example.com/.ssh/authorized_keys
Alternatively, use the following workaround:
As root, edit
/etc/ssh/sshd_config. Add this line or change an existing one to the following:
# cat /etc/ssh/sshd_config | grep AuthorizedKeysFile
AuthorizedKeysFile .ssh/authorized_keys %h/private/.ssh/authorized_keys
This will make SSH search for
.sshdirectory in another directory named
privatefor each user, not only for the root home directory.
Save the file and restart the
# service sshd restart
To use SSH public key customer has to add it in
authorized_keys file. It should be done as follows:
Log into customer account under provided SSH user and run these commands:
$ cd private
$ mkdir .ssh
$ echo "insert your SSH key here" > .ssh/authorized_keys $ chmod -R og-xrw .ssh
- Make sure the owner and group are correct:
$ chown -R ftpuser.psacln .ssh