簡體   English   中英

有沒有辦法指定哪個 ssh 密鑰應該用於 npm 安裝

[英]Is there a way to specify which ssh key should be used for npm install

我有一個私人倉庫,我想將它安裝在我的 package.json 文件中。

"private-module": "git+ssh://git@bitbucket.org:private/private-module.git"

默認情況下 npm 使用您的默認私鑰。 我希望能夠指定在運行npm install時應該使用哪個 ssh 密鑰 npm 。 有沒有辦法做到這一點?

以下是一些解決方案:

  • ~/.ssh/config添加一個條目。 例如:

    \n 主持人bitbucket.org\n      IdentityFile~ / .ssh / bitbucket_key\n      身份只是的\n
  • 使用ssh-agent並事先將密鑰添加到代理程序實例。

  • 使用類似ssh-ident的東西,根據當前工作目錄或傳遞給ssh-ident的參數動態選擇ssh代理和身份。 正如他們的自述文件所述,您通常會將ssh-ident別名為ssh以便它自動在任何地方使用。

在mscdex的答案的第一部分中進行了更改后,您可能需要將主機添加到已知主機列表中 - 在npm install命令工作之前。

您可以通過將私有倉庫克隆到另一個目錄來執行此操作:

git clone ssh://git@bitbucket.org:private/private-module.git

可能會詢問您是否要繼續,鍵入yes並輸入,然后bitbucket.org受信任。 返回項目目錄npm installnpm install 這就是mscdex為我工作的答案所需要的。

還有其他方法可以添加可信主機,但這樣做除了驗證您是否可以實際訪問所需的私有倉庫。

否則,您可以在.npmrc文件中使用NPM令牌

// .npmrc
//registry.npmjs.org/:_authToken=${YOUR_NPM_TOKEN}

資料來源: https//blog.npmjs.org/post/118393368555/deploying-with-npm-private-modules

你顯然可以這樣做

export GIT_SSH_COMMAND='ssh -i ~/.ssh/your_private_key'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM