是否可以配置git/ssh
,因此每次我想执行git pull
时都不必输入密码?请注意,repo是github上的私有。
或者,或者,从私有Github存储库自动执行代码部署的最佳做法是什么?
其他详细信息: EC2实例运行基于Fedora的公共AMI。
答案 0 :(得分:57)
请查看此链接https://help.github.com/articles/working-with-ssh-key-passphrases/
但我每次使用密钥时都不想输入长密码!
我也不是!值得庆幸的是,有一个漂亮的小工具叫做
ssh-agent
可以安全地保存您的密码,这样您就没有了 重新输入它。如果您使用的是OSX Leopard或更高版本,则可以使用密钥 保存在系统的钥匙链中,让您的生活更轻松。最 linux安装将自动为您启动ssh-agent 你登录了。
答案 1 :(得分:22)
我启用了密码缓存,如下所述:
https://help.github.com/articles/caching-your-github-password-in-git/#platform-linux
缓存一个月的密码:
git config --global credential.helper 'cache --timeout=2628000'
答案 2 :(得分:6)
您的情况现已解决,但对我而言,我~/.ssh/
要解决此问题,我必须创建一个名为~/.ssh/config
的文件并添加以下行:
IdentityFile ~/.ssh/my_key2_rsa
其中~/.ssh/my_key2_rsa
是我的关键。
答案 3 :(得分:4)
尝试一下:
git config credential.helper store
您必须输入一次密码,然后将其存储在root文件夹中。
答案 4 :(得分:3)
我不知道为什么没有人报告这个。但最简单的方法是在.ssh / config文件的顶部添加一行AddKeysToAgent yes
。当然必须事先运行ssh-agent
。如果它没有运行(通过终端上的命令ssh-agent
检查),那么只需运行它eval $(ssh-agent)
我可以确认这是有效的,因为在我的项目中有很多子模块,并且每个子模块都被克隆了,我不得不输入我的ssh密码。在上述技巧之后,我不再需要这样做了。
解决方案的来源是https://askubuntu.com/questions/362280/enter-ssh-passphrase-once/853578#853578
答案 5 :(得分:1)
我更新了我的 ~/.ssh/config 文件以阅读以下内容,不再需要输入我的 ssh 密码。
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_ed25519