簡體   English   中英

下拉私有 git 包時,NPM v7 如何在沒有憑據的情況下訪問私有 SSH 密鑰?

[英]How does NPM v7 access the private SSH key without credentials when pulling down private git packages?

在 NPM v6(在 Windows 上)中,在運行npm install以下載一個或多個私有 git 包之前,您需要啟動 ssh 代理並將您的 ssh 密鑰添加到其中。 當您將密鑰添加到 ssh 代理時,系統會提示您輸入密碼。 那講得通。

然而,在 NPM v7 中,這似乎不再是必需的。 即使沒有運行 ssh 代理,它也能工作,並且沒有提示我輸入密碼。 我的問題是 - NPM v7(或 Git)如何在沒有憑據的情況下訪問私有 ssh 密鑰? 似乎是一個可能的安全漏洞。

首先檢查您的依賴 URL :如果它是git+https:// ,它不會提示輸入 SSH 私鑰密碼或 SSH 代理,而是依賴 Git 憑據緩存。

類似地,對於 SSH URL,請檢查您的 git config -l 是否有任何替代指令

cd /path/to/repo
git config -l --show-scope --show-origin|grep -i insteadof

如果 SSH URL 自動轉換為 HTTPS,則不會再涉及 SSH 代理。 甚至有npm/cli/issue 2610抱怨在指定 HTTPS 時使用 SSH。

OP Mark Miretsky 在評論中解釋說:

事實上,我的 SSH URL 被自動轉換為 HTTPS,並且因為我的 HTTPS 憑據存儲在 Git Credential Store 中,所以它沒有提示我輸入憑據

暫無
暫無

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

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