npm install:避免 GitHub 登录弹出窗口并使用 SSH 私钥

npm install: avoid GitHub login popup and use SSH private key

我有什么

我想要的

使用以下方法安装私有模块(托管在 GitHub):

发生了什么

当我执行时:

npm install git@github.com:USER/REPO.git --save

显示以下弹出窗口:

我想避免这个弹出窗口。相反,必须请求 id_rsa SSH 私钥密码。

如果我使用这样的 git 实用程序执行命令:

git clone git@github.com:USER/REPO.git

使用 SSH 私钥:

Cloning into 'REPO'...
Enter passphrase for key '/c/Users/USER/.ssh/id_rsa':
remote: Enumerating objects: 20, done.
remote: Counting objects: 100% (20/20), done.
remote: Compressing objects: 100% (12/12), done.
remote: Total 20 (delta 4), reused 20 (delta 4), pack-reused 0
Receiving objects: 100% (20/20), done.
Resolving deltas: 100% (4/4), done.

环境

您必须了解 git 配置文件所在的位置 https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opinions/Where-system-global-and-local-Windows-Git-config-files-are-saved

在确定 .gitconfig 文件所在的位置后,为其赋予类似于以下的值

[user]
    email = myemail@example.com
    name = My Name John Doe
[color]
    ui = true
[push]
    default = simple
[alias]
    co = checkout

[url "ssh://git@github.com/"]
    insteadOf = https://github.com/


[core]
    sshcommand=ssh -i ~/.ssh/my_ssh_key_name

[pull]
    rebase = false

然后保存上面的 git 配置文件...确保你用实际值更新上面的内容,尤其是你的 ssh 密钥文件的位置

现在通过发出

来使用您的 ssh 密钥
ssh-add ~\.ssh\my_ssh_key_filename

有关详细信息,请参阅 https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_keymanagement

还读了这个Using GIT_SSH_COMMAND in Git for Windows