启用 SSH 来部署 bitbucket git repo

启用 SSH 来部署 bitbucket git repo

我正在尝试将我的 git repo 部署到我的服务器。为了完成这项工作,我首先需要在我的本地计算机和服务器上设置 ssh。

对于 bitbucket 我关注https://confluence.atlassian.com/bitbucket/set-up-ssh-for-git-728138079.html对于 pm2 我遵循https://keymetrics.io/2014/06/25/ecosystem-json-deploy-and-iterate-faster/

我在自己的电脑和服务器上创建了公钥/私钥。现在连接正常了,因为我可以不用输入密码就登录到服务器。对于服务器,我遵循了完全相同的步骤,但每次我重新连接到服务器时都会收到错误

Agent admitted failure to sign using the key.

我发现每次我重新连接时 ssh-agent 都处于离线状态,因此ssh-add -l不会打印任何结果。我现在在.bashrc

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa

这似乎有效,但总是提示我输入密码.ssh/id_rsa

这可能是为什么我的语言环境机器返回的原因pm2 deploy production setup

Agent admitted failure to sign using the key.
Cloning into '/home/myuser/myproject/source'...
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

  failed to clone

有人知道我做错了什么吗?

编辑:我找到了这个很好的答案:https://unix.stackexchange.com/a/90869我决定下载钥匙串并添加

eval `keychain --eval id_rsa`

而不是向我发送旧的 2 个命令.bashrc。现在我可以登录到我的服务器,没有任何警告或错误,并ssh-add -l正确显示我的密钥。但在我的本地计算机上,该pm2命令会抛出完全相同的错误。问题可能出在其他地方吗?

解决方案

我刚刚重做了整个过程,结果相同。最后,我eval在文件顶部添加了 keychain --eval id_rsa`` 行.bashrc。现在克隆工作正常。我仍然不确定为什么文件内的位置很重要,但无论如何......它有效

相关内容