加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

在Windows上使用Git,在HTTP代理之后,而不在磁盘上存储代理密码

发布时间:2020-12-13 20:13:40 所属栏目:Windows 来源:网络整理
导读:我在 Windows上使用 Git,在公司网络中,我使用基本身份验证的HTTP代理.出站SSH不起作用,所以我必须通过代理使用HTTPS. 我知道如何使用git config http.proxy来将设置配置为http:// [username]:[password] @ [proxy]:[port]. 但是,特别是因为这是一个共享机
我在 Windows上使用 Git,在公司网络中,我使用基本身份验证的HTTP代理.出站SSH不起作用,所以我必须通过代理使用HTTPS.

我知道如何使用git config http.proxy来将设置配置为http:// [username]:[password] @ [proxy]:[port].

但是,特别是因为这是一个共享机器,我宁可不将我的密码存储在我的.gitconfig中.此外,使用git config命令更改.gitconfig会将我的密码保存在我的bash历史记录中,因此即使我记得在会话结束时清除.gitconfig,我几乎肯定会忘记清除我的历史记录.

我尝试设置http.proxy没有密码,希望在尝试推/拉时,我会得到一个提示,询问我的密码,但是我只需要407代理验证.我在网上找到的所有信息似乎都忽略了使用.gitconfig中明文保存密码或处理NTLM代理的问题.

我很高兴在每次需要连接时键入代理详细信息 – 目前我可以看到的最佳解决方案是编写一个包装器脚本,它将提示输入密码,并将其设置为调用git时的环境变量.这是一个体面的解决方案,并且在脚本中为单个调用设置环境变量是否有任何安全隐患?最好是有什么内置的设置或现有的工具可以用于此?

您也可以使用环境变量(您可以为您的会话设置),而不是使用git设置,如 this answer所述:
set http_proxy=http://username:password@proxydomain:port
set https_proxy=http://username:password@proxydomain:port
set no_proxy=localhost,.my.company

因此,您的包装脚本可以,而不是修改.gitconfig(并以纯文本形式保留密码)根据需要设置环境变量,仅适用于当前会话.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读