使用 Ionic 项目添加远程 git 存储库的授权错误

Posted

技术标签:

【中文标题】使用 Ionic 项目添加远程 git 存储库的授权错误【英文标题】:authorisation error adding remote git repo with Ionic project 【发布时间】:2018-03-16 11:27:06 【问题描述】:

Ionic Pro 使用 git 访问您编写的代码,以便将其克隆到他们的云服务中 - 这样做是为了他们可以代表您构建您的应用程序。他们的文档摘录:

Ionic Pro uses git to manage new app builds, push app updates, and more.
Before using Ionic Pro's git workflow, you must add a valid SSH key to your 
account.

Ionic Pro's git service is not a replacement for your source code management 
service of choice, such as GitHub or GitLab.

我想提请注意这一行:Before using Ionic Pro's git workflow, you must add a valid SSH key to your account.。如果您还没有 Ionic 并为您生成一个并将其链接到您的帐户,Ionic 可以很好地帮助您解决这个问题,我做到了。到目前为止,我可以做一些工作,然后使用git push ionic master 提交并将我的更改推送到 ionic git(以启动云构建);没有问题。

我现在已经完成了原型设计,想开始认真的开发并将项目添加到我自己的 Github 存储库中。所以我尝试运行git remote add origin git@github.com:AccountName/AppName.git。这执行没有问题。但是,当我尝试运行 git push -u origin master 时,我收到错误 fatal: Authentication Failed。由于 Ionic 设置了 repo,它还设置了用于身份验证的 SSH 密钥,但我不知道该过程实际上是如何工作的。目前我的 git bash 环境设置为我的 Github 帐户设置为我的用户名和密码,但我不知道如何将此基于 SSH 的存储库链接到我的 Github 用户名:基于密码的存储库。我使用 Git Bash 并将我的公共 SSH 密钥复制到我的 GitHub SSH 密钥中:

这也是我机器上唯一的公共 SSH 密钥:

但是,如果我尝试运行 git push -u origin master,我仍然会收到此错误:

【问题讨论】:

是的。您需要将您的公钥添加到您的 github 帐户。 我尝试按原样复制该密钥,但我收到错误“密钥无效。它必须以'ssh-ed25519'、'ssh-rsa'、'ssh-dss'开头'、'ecdsa-sha2-nistp256'、'ecdsa-sha2-nistp384'或'ecdsa-sha2-nistp521'" 您是否复制了公钥的内容?仔细检查these instructions 公钥?抱歉,我不确定在哪里找到它。 您是否阅读了我链接的说明? 【参考方案1】:

但是,如果我尝试运行 git push -u origin master,我仍然会收到此错误:

这是因为您的 SSH URL 没有利用您的 ssh/config 文件,该文件确实引用了 ssh/ionic/private_key 路径。

该配置路径应该有一个Host 条目,例如Host ionic。 在这种情况下,请修改您的 SSH 网址:

git remote set-url origin ionic:AccountName/AppName.git

(此处不是git@github.com:所有内容都在ssh/config 中指定,在Host 条目下,如in this example)

【讨论】:

以上是关于使用 Ionic 项目添加远程 git 存储库的授权错误的主要内容,如果未能解决你的问题,请参考以下文章

删除 GIT 存储库的远程密码 [重复]

Git使用基础

如何检查远程 git 存储库的配置?

git命令行将本地项目上传到仓库

Git没有编辑远程存储库的访问权限

Git常用目录