有没有办法指定哪个ssh密钥应该用于npm安装
我有一个私人的回购,我想安装在我的package.json文件。
"private-module": "git+ssh://git@bitbucket.org:private/private-module.git"
默认情况下npm使用你的默认私钥。 我希望能够指定运行npm install
时使用哪个ssh密钥npm。 有没有办法做到这一点?
这里有几个解决scheme:
-
添加一个条目到你的
~/.ssh/config
。 例如:主机bitbucket.org IdentityFile〜/ .ssh / bitbucket_key 身份只有是的
-
使用
ssh-agent
并将您的密钥事先添加到代理实例。 -
使用类似ssh-ident的选项来根据当前工作目录或传递给ssh-ident的参数dynamicselectssh代理和身份。 正如他们的自述文件所述,您通常会将ssh-ident别名为
ssh
以便在任何地方自动使用它。
在mscdex的答案的第一部分中进行了更改之后,可能需要将主机添加到已知主机的列表中,然后才能使用npm install
命令。
您可以通过将私人回购点复制到另一个目录来完成此操作:
git clone ssh://git@bitbucket.org:private/private-module.git
你可能会被问到是否要继续,inputyes
并input,然后bitbucket.org是可信的。 返回到您的项目目录,然后重试npm install
。 这是mscdex的答案为我工作所需要的。
添加可信主机还有其他方法,但是这样做除了validation您是否可以实际获得所需的专用回购。