Отправка ssh-ключа в Bitbucket с помощью команды curl не удалась - PullRequest
0 голосов
/ 16 марта 2019

Я пытаюсь сделать следующее:

SSHKEY=`cat ~/.ssh/id_rsa.pub`
curl -u username:password -X POST -H "Content-Type: application/json" -d '{"key": "$SSHKEY", "label": "someLabel"}' https://api.bitbucket.org/2.0/users/username/ssh-keys

Но это дает:

{"type": "error", "error": {"fields": {"key": ["That SSH key is invalid."]}, "message": "key: That SSH key is invalid."}}

Есть идеи о том, как отправить этот ключ ssh в bitbucket с помощью API?

1 Ответ

0 голосов
/ 17 марта 2019

Хорошо, я заставил это работать, используя скрипт на Python 3.

#!/usr/bin/python3
import os
import requests, json

url = "https://api.bitbucket.org/2.0/users/userName/ssh-keys"

key = open(os.path.expanduser('~/.ssh/id_rsa.pub')).read()
print(key)

payload = {
        "key": key, 
        "label": "testSSHKey"
       }

header = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"} 

response_decoded_json = requests.post(url, auth=requests.auth.HTTPBasicAuth('userName', 'password'), data=payload, headers=header)
response_json = response_decoded_json.json()

print(response_json)
...