问题描述
我正在使用以下命令:
ssh-keygen -t ed25519 -C "my description" -N "" -f ~/.ssh/gh-test
gh repo deploy-key add ~/.ssh/gh-test
但后来我得到了这个错误:
To get started with GitHub CLI, please run: gh auth login
Alternatively, populate the GH_TOKEN environment variable with a GitHub API authentication token.
https://cli.github.com/manual/gh_repo_deploy-key_add
我的假设
由于 github.com 仅具有个性化访问令牌,并且我不想向存储库添加“仅限机器的用户”,所以我被迫使用 ssh 密钥。
但这迫使我再次使用 API-KEY。我原以为整个想法是不必使用它。
我究竟做错了什么?
更新
我最初的用例是使用id_rsa
密钥来执行以下操作:
gh release create --notes "v1.2" "v1.2" README.md
但事实证明,该gh
工具只能与 API_KEY 一起使用。因此,我将创建另一个与该存储库关联的“虚拟”github 用户,以便我可以生成仅具有“一个”存储库所需范围的 API_KEY。
遗憾的是,GH 没有像 gitlab 那样的“项目访问令牌”。
https://docs.github.com/en/developers/overview/managing-deploy-keys#deploy-keys
答案1
您需要验证 GitHub 客户端才能部署您的 ssh 密钥。
所以是的,您需要一个个性化访问令牌,但仅用于部署密钥。之后您应该能够使用 ssh 密钥访问您的存储库。