Joh*_*erg 67 git authentication
有没有办法安全地让git在通过HTTP(S)连接到远程存储库时记住我的凭据?
我已经尝试了core.askpass详细介绍的方法git-config,让外部脚本提供我的凭据.虽然它工作得很好,但用户名和密码仍然以纯文本形式存储在小shell脚本中.
Edd*_*die 65
git在HTTP上运行时调用cURL.您可以通过.netrc在用户的主目录中设置文件并将其设置为用户私有(Linux中的0600)来存储安全凭据.
该文件的内容提供每个远程域的用户名和密码.
machine myRemoteServer
login myUserName
password s3cret
Run Code Online (Sandbox Code Playgroud)
有关 完整服务器端配置,请参阅/sf/ask/276327131/#7177690,这可轻松包含对ldap服务器的调用.
Jak*_*ski 51
自从(我认为)git版本1.7.8,从2011年12月2日起1),git支持所谓的凭证助手.
有关详细信息,请参阅gitcredentials(7)联机帮助页
(此联机帮助页还描述了core.askpass适用于此的内容).
默认的git安装包括两个帮助器:
cache:有关详细信息,请参阅git-credential-cache(1).
在内存中缓存凭证一小段时间.存储的凭据永远不会触及磁盘,在可配置的超时后会被忘记.请注意,它是纯Unix解决方案,因为它使用socket与守护进程通信.
store:有关详细信息,请参阅git-credential-store(1).
将凭据无限期地存储在磁盘上.该文件将设置其文件系统权限,以防止系统上的其他用户读取它,但不会加密或以其他方式受到保护.与Eddie响应中的.netrc解决方案相同的安全性
在KDEWallet(KDE),GNOME Keyring,Windows Credential Store(现在集成在Git for Windows中),MacOS X Keychain等中存在一些第三方凭证助手,用于存储用户名和密码.
脚注:
1)将成立的Git的GitHub帮助页面中提到,
您需要git 1.7.10或更新版本才能使用凭据帮助程序
Von*_*onC 14
从git 1.8.3(2013年5月)开始,您现在可以为git 指定加密.netrc使用:
添加了一个与文件交互的新的只读凭证帮助程序(in
contrib/credential/netrc/).netrc/.authinfo.
该脚本允许您使用gpg加密的netrc文件,避免将凭据存储在纯文本文件中.
-f|--file AUTHFILE
specify netrc-style files.
Run Code Online (Sandbox Code Playgroud)
具有
.gpg扩展名的文件将在解析之前由GPG解密.
多个-f参数都可以.它们按顺序处理,找到的第一个匹配条目通过凭证帮助程序协议返回(见下文).当没有
-f给出选项,.authinfo.gpg,.netrc.gpg,.authinfo,和.netrc在你的主目录文件中的顺序使用.要启用此凭据帮助程序:
git config credential.helper '$shortname -f AUTHFILE1 -f AUTHFILE2'
Run Code Online (Sandbox Code Playgroud)
(请注意,Git会将"
git-credential-"添加到帮助程序名称并在路径中查找它.)
请参阅完整的分步示例:
"使用时是否有办法跳过密码输入https://github.com ".
| 归档时间: |
|
| 查看次数: |
63714 次 |
| 最近记录: |