我有一个取决于几个私有Github存储库的npm项目。我正在staging服务器上部署项目,并且我为每个私有存储库设置了单独的部署密钥,因为Github不允许为每个私有存储库使用相同的密钥。我已经设置了这样的〜/ .ssh / config:
Host 1.github.com
HostName github.com
User git
PreferredAuthentications publickey
IdentityFile ~/.ssh/key-1
StrictHostKeyChecking no
Host 2.github.com
HostName github.com
User git
PreferredAuthentications publickey
IdentityFile ~/.ssh/key-2
StrictHostKeyChecking no
Host 3.github.com
HostName github.com
User git
PreferredAuthentications publickey
IdentityFile ~/.ssh/key-3
StrictHostKeyChecking no
在package.json中,我有以下私有Github存储库依赖项:
"project1": "git+ssh://git@github.com/myorg/project1.git",
"project2": "git+ssh://git@github.com/myorg/project2.git",
"project3": "git+ssh://git@github.com/myorg/project3.git"
但是,这不起作用,我收到Permission denied (publickey)
错误。这些项目也被使用Github帐户访问存储库的用户使用。
如何让密钥正常工作?
答案 0 :(得分:0)
如果要为不同的github帐户使用不同的密钥,则需要使用配置文件中定义的别名修改git URL,例如:
"project1": "git+ssh://git@1.github.com/myorg/project1.git",
"project2": "git+ssh://git@2.github.com/myorg/project2.git",
"project3": "git+ssh://git@3.github.com/myorg/project3.git"