• Please be aware: Kaspersky Anti-Virus has been deprecated
    With the upgrade to Plesk Obsidian 18.0.64, "Kaspersky Anti-Virus for Servers" will be automatically removed from the servers it is installed on. We recommend that you migrate to Sophos Anti-Virus for Servers.
  • The Horde webmail has been deprecated. Its complete removal is scheduled for April 2025. For details and recommended actions, see the Feature and Deprecation Plan.
  • We’re working on enhancing the Monitoring feature in Plesk, and we could really use your expertise! If you’re open to sharing your experiences with server and website monitoring or providing feedback, we’d love to have a one-hour online meeting with you.

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