Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Upload SSH personal and SSH access keys in Bitbucket Server using REST API endpoints

How to add an SSH key

To upload an SSH access key for a project, the REST API endpoint to use is:

POST /rest/keys/1.0/projects/{projectKey}/ssh

With a payload similar to the following payload:

{
    "key": {
        "text": "ssh-rsa AAAAB3... me@127.0.0.1"
    },
    "permission": "PROJECT_READ"
}

 

To add an SSH access key to a repository, we can use:

POST /rest/keys/1.0/projects/{projectKey}/repos/{repositorySlug}/ssh

And this payload:

{
    "key": {
        "text": "ssh-rsa AAAAB3... me@127.0.0.1"
    },
    "permission": "REPO_WRITE"
}

 

And finally to add an SSH personal key for a user, this is the command:

POST /rest/ssh/1.0/keys?user=username

With a payload similar to:

{
    "text": "ssh-rsa AAAAB3... me@127.0.0.1"
}

 

One full example

When using curl, the full command to add an SSH access key on a project looks like this:

curl --user <user>:<password> -H "Content-Type: application/json" --data @input.json -X POST <Bitbucket URL>/rest/keys/1.0/projects/{projectKey}/repos/{repositorySlug}/ssh

More details

SSH keys in Bitbucket Server

There are two different types of SSH keys that can be set up as described on the Controlling access to code and Using SSH keys to secure Git operations:

- SSH personal keys

- SSH access keys

 

SSH keys REST API endpoints

Both of these access keys can be managed by using the REST API endpoints described on the Bitbucket Server - SSH page.

Just one of the multiple set of endpoints available on the Bitbucket Server REST APIs list.

0 comments

Comment

Log in or Sign up to comment
TAGS
AUG Leaders

Atlassian Community Events