0
我有一個npm項目,取決於幾個私人Github存儲庫。我在staging服務器上部署項目,並且我爲每個私有存儲庫設置了單獨的部署密鑰,因爲Github不允許爲每個私鑰使用相同的密鑰。我已經建立了的〜/ .ssh /配置是這樣的:如何設置多個Github部署密鑰(npm,yarn)?
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://[email protected]/myorg/project1.git",
"project2": "git+ssh://[email protected]/myorg/project2.git",
"project3": "git+ssh://[email protected]/myorg/project3.git"
然而,這並不工作,我m得到Permission denied (publickey)
錯誤。這些項目也被那些使用Github帳戶訪問存儲庫的用戶使用。
如何讓鑰匙工作?
這是不可能的,因爲這些密鑰沒有被使用該項目的每個人使用。將這種特定於環境的路徑提交到package.json是不切實際的。 – Kitanotori
在這種情況下,您將不得不自行修改,否則您將不得不調整項目結構。請注意,除非您將更改存儲網址,否則git將不知道要使用哪個密鑰。其他的可能性是使用GIT_SSH_COMMAND env。變量與單獨的prijects的設置。 – Jakuje
你如何爲每個項目設置GIT_SSH_COMMAND?另外,是否有可能會按順序嘗試的密鑰列表? – Kitanotori