Git .netrc 文件身份验证问题

问题描述 投票:0回答:3

我正在使用 GitHub。我创建了一个存储库并将其克隆到我的 Ubuntu 机器上。 我已在

.netrc
文件中输入如下条目:

machine https://github.com/xxx/yyy.git
login xxx
xxx

我希望 Git 在

.netrc
文件中输入此条目后不会询问我的用户名和密码。但即使在此之后,Git 也会提示输入凭据。

我错过了什么吗?

git github .netrc
3个回答
12
投票

~/.netrc
(或 Windows 上的
%HOME%\_netrc
)文件不够。

最好单独使用该文件加密,以及

gpg
+
netrc
,就像我在这里做的那样

或者使用管理加密的脚本。
在第二种情况下,您需要:

  • git-credential-netrc.perl
    文件复制到
    $PATH
    /
    %PATH%
    ,

    中的任意位置
  • 添加:

      cd yourRepo
      git config credential.helper "netrc -d -v"
    

(一旦运行,您可以删除

-d
-v
:这些是调试标志)

  • 使用您在远程 URL 中的登录信息:

      git set-url origin https://[email protected]/yourLogin/yourRepo
    

请参阅“Git - 如何在 Windows 上使用 .netrc 文件来保存用户和密码”,了解凭证“netrc”助手的一般原理(Git 1.8.3+)。


2
投票

正如 @sschuberth 提到的,删除协议 http:// 或 https:// 对我有用


0
投票

当我的令牌过期后,它不断要求输入用户名和密码时,我遇到了同样的问题,所以我必须做的是使用新令牌从头开始编写新的.netrc文件 并覆盖旧的。之后,它工作得很好,这是在 Ubuntu 22.04.3 LTS

© www.soinside.com 2019 - 2024. All rights reserved.