我想将我的 github 存储库克隆到我的 Ubuntu 服务器,并确保服务器只有对存储库的读取权限,所以我使用 Github 的 Deploy Keys 来这样做。当我这样做时,我总是会收到以下错误:
[email protected]: Permission denied (publickey).
我遵循了this answer,但没有一个解决方案对我有用。
我正在做的具体步骤是:
在服务器的
~/.ssh
文件夹中创建一个密钥
ssh-keygen -t rsa -b 4096 -C "[email protected]"
我给密钥命名为mykey
,并尝试使用密钥密码短语和不使用密码短语来完成它。
启动密钥代理并使用添加密钥
eval "$(ssh-agent -s)"
然后ssh-add ~/.ssh/mykey
返回:
Identity added: /home/me/.ssh/mykey ([email protected])
打开
mykey.pub
并将内容复制到 GitHub 中的新部署密钥中,在我要克隆的 repo 的设置下。
我用
ssh -T [email protected]
测试返回的键:
Hi stanley/myrepo! You've successfully authenticated, but GitHub does not provide shell access.
sudo git clone [email protected]:stanley/myrepo.git
并得到权限被拒绝(公钥)错误。mykey.pub 仅用于我想在部署密钥部分克隆的回购,没有其他地方。
我的服务器上没有其他 SSH 密钥
这是一个私人仓库