我有一个github ssh密钥,我已经在个人计算机上使用了一段时间。我最近开始使用AWS,并拥有一台远程服务器,希望在该服务器上保持分支的最新状态并对其进行托管,以便可以实时看到所做的更改。
我将我使用的密钥从本地计算机移至ec2容器,并将git remote url更改为ssh url(而不是http),并创建了一个ssh配置文件,其记录如下:
Host github.com
IdentityFile ~/.ssh/name_of_key
当我致电ssh -T git@github.com
时,我看到:
嗨,rmilejcz!您已成功通过身份验证,但是GitHub不提供Shell访问。
完美!但是,当我导航到我的仓库并致电git pull
时,我会看到:
权限被拒绝(公钥)。 致命的:无法从远程存储库读取。
请确保您具有正确的访问权限 并且存储库存在。
在我的本地计算机上,此方法有效,但在ec2容器上却无效。 ssh的配置是相同的,我使用的是相同的密钥,两个git repos的远程URL都是相同的(git@github.com:USERNAME/REPONAME.git
,但是在我的本地计算机上它可以正常工作,并且在ec2容器上我可以通过github成功进行身份验证,但是无法与目标分支进行交互。
我觉得我缺少明显的东西,但我无法弄清楚!