• The APS Catalog has been deprecated and removed from all Plesk Obsidian versions.
    Applications already installed from the APS Catalog will continue working. However, Plesk will no longer provide support for APS applications.
  • Please be aware: with the Plesk Obsidian 18.0.78 release, the support for the ngx_pagespeed.so module will be deprecated and removed from the sw-nginx package.

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