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

How to add an Access Key with Write permission?

mhughson July 11, 2018

I am trying to set up Sparkle Share (http://www.sparkleshare.org/) for an artist on my team who needs read-write access to our project, but doesn't want to deal with Git (Sparkle Share behaves like DropBox).

Sparkle Share provides an SSH client id, which I add as an "Access Key" to my Free BitBucket Repo. This works; the repo is properly download to the clients machine. However, any changes they make cannot be uploaded, because that Access Key only has "Read" permission.

On GitHub there is just a little "allow write" check box when you add an SSH key, but I can't find anything on BitBucket.

Is this possible?

5 answers

7 votes
Alex Atkinson July 23, 2019

Bitbucket cloud has been an exceedingly disappointing experience... Similar to JIRA, it's missing many features, and Atlassian doesn't seem capable of delivering them. How about some pre-commit hooks?

3xclamation October 14, 2019

Yea, access keys with optional write access seems like a pretty important feature. Github has this exact behavior with their "deploy keys". Now with github offering free private repos, it's hard to justify sticking with Atlassian.   

Like # people like this
Willie Scholtz March 18, 2020

Honestly, this is unacceptable for a product as big as this not to have such basic functionality, for anyone else that needs a 'workourand': 

Instead of adding the public ssh key as an access key on the repo, add it as a public ssh key of a user that has write access to the repo.

Unfortunately this user will be the 'scapegoat' if something goes wrong ;-)

Like # people like this
OlegT August 28, 2020

You usually create a service account for this sort of things instead of adding that key to a real user's account.

musonzat September 5, 2021

I think attaching a key to a specific user with write access to the repo much is much better than a global public key 

3 votes
OlegT August 28, 2020

I know its 2020, but I needed to do a similar thing recently. Here's how I did it.

When you add an SSH key to your repo, you essentially give an anonymous user called "git" a Read access to your repo as long as they provide that key. Such access seems to be limited to read-only by design.

Instead of adding an SSH key to the repo I created a BitBucket user for my service account (i.e. srv-acct-001) and added SSH key to that user. Now if you give that BB user Write permissions to your repo, they will be able to read and write AS LONG AS they use that user's name instead of "git" and provide their SSH key, for instance:

git clone srv-acct-001@bitbucket.org:<repo>

This way it will consume one user account, of course.

Deleted user October 1, 2020

Workspaces also has access keys. Adding key there gives you write access.

Like # people like this
Don Claveau October 2, 2020

I tried the "make a user for the svc account" approach, but ran into issues validating the invite. SSO prevented me from logging in as the svc account.   

Sogl June 24, 2022

@[deleted] Thank you! It works as it should, though I had to deal with an illogical interface.

KuldeepY December 8, 2022

It worked. Thanks.

2 votes
carolyn french
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
July 11, 2018

Hi Matt, and welcome to Community!

From what I see in the Bitbucket documentation, you can only do read/write in Bitbucket Server Access Keys, not Bitbucket Cloud.

Someone else may have some sort of workaround for you...

Carolyn

Federico Stange
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
February 19, 2024

2024 and can't set an access key as WRITE, embarrasing

Like # people like this
0 votes
zakNIT January 17, 2023

Has anyone figured out how to do this? 
I am trying to sync files from repo1 to repo2 using repo1's pipeline. 

I copied repo2 ssh key into repo1 Access Keys.

I keep getting  error Unauthorized fatal: Could not read from remote repository." when pipeline's script runs "git push"

0 votes
Ahmad Akilan September 23, 2021

As per Marek Skórkowski reply:

Adding the key to the workspace access keys gives it write access.

I wish this could be mentioned as an option for write access in the repository settings page.

Iaroslav Pleten November 12, 2021

So should it be in repo and in workplace settings?

Or only workplace?

Ahmad Akilan November 14, 2021

Only workspace.

Copy the public key from repo of interest `Repository settings > SSH Keys`  to `Workspace settings > SSH Keys`.

Ryan Pei January 20, 2022

Is this Workpace SSH key feature a paid feature, or only on BitBucket Server? I don't see it on my (Free) Cloud account.

Ryan Pei January 20, 2022

nevermind, it looks like it's actually "Personal Settings", not Workspace settings

Andi April 28, 2022

@Ryan Pei no, personal settings is for your personal account settings. if you want to open the workspace, click on your profile, in the menu above "personal settings" you see a small list of recent workspaces or a "all workspaces" link. select the workspace with the repo in question, then select "settings" and finally "SSH keys"

Marco Mazzucco April 21, 2023

For what it's worth, it is actually  now in personal settings and not all workspaces.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events