我正在使用Git将我的更改推送到登台服务器(而不是GitHub)。每当我用来推或拉时,我都需要输入远程服务器的(登台)密码。有没有办法在我的本地计算机上保存凭据并避免每次都输入密码?
我的远程起源是:
origin git@xxx.xxx.xxx.xxx:/opt/git/xxx.git(fetch)
origin git@xxx.xxx.xxx.xxx:/opt/git/xxx.git(push)
答案 0 :(得分:3)
这将创建两个文件。 id_rsa
和id_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