我试图部署我的git仓库到我的服务器。 为了使这个工作,我首先需要在我的区域设置计算机和我的服务器上设置ssh。
对于bitbucket我跟着https://confluence.atlassian.com/bitbucket/set-up-ssh-for-git-728138079.html和pm2我跟着https://keymetrics.io/2014/06/25/ecosystem- JSON-部署和迭代更快的/
我在我自己的计算机和我的服务器上创build了pub / priv密钥。 连接现在可以工作,因为我可以login到服务器而无需input密码。 对于服务器我遵循完全相同的步骤,但每次我重新连接到服务器,我得到了错误
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 。 现在我可以login到我的服务器没有任何警告或错误和ssh-add -l正确显示我的密钥。 但在我的语言环境机器pm2命令抛出完全相同的错误。 问题可以在别的地方吗?
解
我只是用相同的结果重新整个过程。 最后,我在.bashrc文件的顶部添加了eval keychain –eval id_rsa“行。 现在克隆工作完美。 我仍然不确定为什么文件中的位置很重要,但无论如何..它的工作原理