如何避免在OS X中的每次推/拉时键入Git密码

时间:2014-12-29 07:46:02

标签: macos git

我正在使用Git将我的更改推送到登台服务器(而不是GitHub)。每当我用来推或拉时,我都需要输入远程服务器的(登台)密码。有没有办法在我的本地计算机上保存凭据并避免每次都输入密码?

我的远程起源是:

origin git@xxx.xxx.xxx.xxx:/opt/git/xxx.git(fetch)

origin git@xxx.xxx.xxx.xxx:/opt/git/xxx.git(push)

2 个答案:

答案 0 :(得分:3)

这将创建两个文件。 id_rsaid_rsa.pub将公钥放在您的服务器上。

ssh-keygen -t rsa

将公钥放在您的服务器上,确保authorized_keys上的权限为0600

将公钥附加到您要推送到服务器的用户的主目录中的.ssh/authorized_keys文件中。

除非您以root用户身份推送,否则您很可能会遇到当前设置的问题。 /opt/git用户拥有git吗?

git是否有主目录?最好以具有该服务器上主目录的用户身份推送到远程服务器,因为这样可以更轻松地访问SSH。

答案 1 :(得分:0)

打开凭据帮助程序,以便Git将密码保存在内存中一段时间​​。默认情况下,git会记住它15分钟,但您可以更改它,执行以下操作:

在终端中,输入以下内容:

git config --global credential.helper cache

# Set git to use the credential memory cache

要更改默认密码缓存超时,请输入以下内容:

git config --global credential.helper 'cache --timeout=3600'

# Set the cache to timeout after 1 hour (setting is in seconds, you can chnage it to 24hours = 86400 seconds if you like)

如果您将其设置为24小时,您只需每天输入一次密码,就像早上登录您的电子邮件帐户一样:)

来源:link