• Debian 11 is approaching its end-of-life (vendor EOL date - August 31, 2026). Plesk Obsidian 18.0.80 will be the last release to support it.
    If you are running Plesk Obsidian on Debian 11, we recommend you upgrade those servers to Debian 12 using our dist-upgrade tool.
  • We plan to deprecate and remove the support for XML RPC protocol versions earlier than 1.6.9.1 in Plesk Obsidian 18.0.82. We strongly recommend that you update all existing integrations using earlier versions of the XML RPC protocol to comply with the version 1.6.9.1 specification.

Question Subscription creation via api: how to deal with ssh public key?

wtfred

New Pleskian
Hello,

I'm currently working with ansible to automate a subscription creation.
Here is what i'm achieving right now:

With Plesk xml api :
- Subscription creation
- Database creation for this subscription
- User creation for this database
With Plesk REST api :
- Calling Plesk CLI api to deal with Let's encrypt Extension (WIP, but this post will help me Question - API-RPC and Let's Encrypt?)

Next i want to add my ssh public key to connect via ssh to the newly created subscription.

My problem is the "SSH Keys Manager" extension doesn't seems to have an api.
Is there a way to upload my public key in /var/www/vhosts/my-domain/.ssh/authorized_keys ?

With plesk xml api i can upload it into /usr/local/psa/tmp/xxxxx, but how could i move it via API where i want after that?

Is there an api way to upload or create a file in /var/www/vhosts/my-domain/.ssh ?

Thanks.
 
I may have a workaround, if you guys don't have something better:
- create every subscription with a "fixed" user
- in sshd_config, allow PasswordAuthentication only for this user
- use ansible to copy ssh public key
- rename subscription user using plesk rest api calling plesk cli
 
Back
Top