gpt4 book ai didi

rest - 使用 curl/REST 和 token 将 SSH 公钥上传到 bitbucket 云

转载 作者:行者123 更新时间:2023-12-04 18:19:35 24 4
gpt4 key购买 nike

我有一个 bitbucket 云帐户。下:https://id.atlassian.com/manage/api-tokens我已经生成了一个 API token ,我试图在 REST 调用中使用它来上传
我帐户的公共(public) SSH key 。基于:

https://docs.atlassian.com/bitbucket-server/rest/5.6.2/bitbucket-ssh-rest.html?utm_source=%2Fstatic%2Frest%2Fbitbucket-server%2F5.6.2%2Fbitbucket-ssh-rest.html&utm_medium=301#idm45427244388592

https://community.atlassian.com/t5/Answers-Developer-Questions/Bitbucket-REST-API-POST-using-token-instead-of-basic-auth/qaq-p/474823

我试过了:

curl -X POST -d '{"text":"ssh-rsa AAAAB3... me@127.0.0.1"}' -H "Authorization: Bearer ADasdaEeasAsd..." https://bitbucket.org/[my-account]]/rest/ssh/latest/keys

但是当我运行时,我得到:
{"type": "error", "error": {"message": "Access token expired. Use your refresh token to obtain a new access token."}}

我试图重新创建 token 并再次使用新 token 重新运行上述命令 - 但我得到了同样的错误。

有什么建议么?

基于以下答案和链接,我现在已经尝试过:
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer wxdrtblabla..." \
-d '{"key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKqP3Cr632C2dNhhgKVcon4ldUSAeKiku2yP9O9/bDtY myuser@bitbucket.org/myuser"}' \
https://api.bitbucket.org/2.0/users/myuser/ssh-keys

但我得到完全相同的错误:
{"type": "error", "error": {"message": "Access token expired. Use your refresh token to obtain a new access token."}}

所以还是没有运气。另外,如果我访问:

https://api.bitbucket.org/2.0/users/[myuser]/ssh-keys

直接在浏览器中我得到:
type    "error"
error
message "This API is only accessible with the following authentication types: session, password, apppassword"

编辑/回答:根据下面的更新答案,我没有尝试创建 应用密码并授予它 帐号:读/写在 bitbucket 中,它可以工作。我运行它:
curl -v -u myuser:my-generated-app-password -X POST  \
-H "Content-Type: application/json" \
-d '{"key": "ssh-rsa AAA....ro"}' \
https://api.bitbucket.org/2.0/users/myuser/ssh-keys

最佳答案

您正在查看 Bitbucket Server 文档,但使用的是 Bitbucket Cloud。 (赠品:文档路径的“bitbucket-server”部分,以及您推送 key 的路径中的“bitbucket.org”。)

查看 https://developer.atlassian.com/bitbucket/api/2/reference/resource/users/%7Busername%7D/ssh-keys#post相反 - 这是 Bitbucket Cloud 文档来做你想做的事情。您的网址将更像 https://api.bitbucket.org/2.0/users/[your-account]/ssh-keys .

编辑:您收到的错误表明存在问题:您需要从现有 session (即从 GUI)中进行该调用,使用您的密码,或使用 app password .我建议使用应用程序密码,因为它是有范围的,意味着是一次性的,并且不会让您登录到 GUI。然后你的 curl 调用就变成了 curl -u myuser:myapppassword -X POST -H "Content-Type: application/json" -d '{"key": "key content goes here"}' https://api.bitbucket.org/2.0/users/myuser/ssh-keys .

关于rest - 使用 curl/REST 和 token 将 SSH 公钥上传到 bitbucket 云,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52559416/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com