Is there a way to upload an ssh key to stash via command line?

Yusuke Tsutsumi October 5, 2012

Hello,

I'm currently in the process of writing a script to get developers' environment set up. I would like to add ssh authentication to stash in the script, but I'm having some trouble. Is there a way I can add an ssh key to stash via the rest api or some way using curl or wget? I've tried using curl and emulating the request:

curl --user USERNAME:PASSWORD https://STASH_SERVER/plugins/servlet/ssh/keys/add --form "text=MY_SSH_KEY"

But no luck there. I don't have to programatically create a user, as the user already exists in stash at the time someone would run this script.

Thanks!

2 answers

1 accepted

3 votes
Answer accepted
seb
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
October 5, 2012

Yes, you can use our REST interfaces to add keys:

curl -u user:pass -X POST -H "Accept: application/json" -H "Content-Type: application/json" https://stash/rest/ssh/1.0/keys -d '{"text": "contents of public key file"}'

Yusuke Tsutsumi October 7, 2012

awesome, thanks!

Chhaya Gadade September 17, 2018

@seb:Thanks,it works fine for bitbucket Server.is there any way to add SSH key to Bitbucket Cloud.

seb
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
September 17, 2018
Chhaya Gadade September 17, 2018

@seb:Thanks a lot for your quick reply,I have tried which you have provided but I am getting the error as:

<p>
CSRF verification failed. Request aborted.
</p>

<p>
Please enable 'Referer' headers for this site and try again.
</p>
Still not able to add SSH key to Bitbucket cloud instance.

Chhaya Gadade September 17, 2018

@seb:Hey thanks...it works...Authentication is required to add into curl command. 

1 vote
Michael Heemskerk
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
October 15, 2012

An addition to Seb's answer:

If you need to upload SSH keys for other users, you can add the ?user=<username> query parameter. If the 'user' query parameter is not provided, the REST resource defaults to the current user.

Note that you'll need at least Admin permissions to be able to upload SSH keys for other users.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events