【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
我已经使用Git一段时间了,但是不断要求输入密码的人开始把我推向高潮。
我正在使用Mac OS X和GitHub,并按照GitHub的“ 设置Git”页面的说明设置了Git和SSH密钥。
如GitHub的SSH密钥密码页面所述,我还向我的Mac OS X钥匙串添加了github SSH密钥。 我的公钥已在Git中注册。
不过,每次我尝试Git拉时,都必须输入用户名和密码。 我需要为此设置除SSH密钥以外的其他东西吗?
#1楼
配置credential.helper
在OS X(现在为macOS)上,在Terminal中运行此命令:
git config --global credential.helper osxkeychain
它使Git可以使用文件Keychain.app来存储用户名和密码,并从钥匙串中检索通向您的SSH私钥的密码。
对于Windows使用:
git config --global credential.helper wincred
故障排除
如果正确配置了Git凭证帮助器,则macOS会将密码短语保存在钥匙串中。 有时SSH和存储在钥匙串中的密码短语之间的连接可能会断开。 运行ssh-add -K
或ssh-add ~/.ssh/id_rsa
再次将密钥添加到钥匙串。
macOS v10.12(Sierra)更改为ssh
对于macOS v10.12(Sierra),需要在每次重新引导后运行ssh-add -K
。 为避免这种情况,请使用此内容创建~/.ssh/config
。
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa
从10.12.2的ssh_config
man
页中:
UseKeychain
在macOS上,指定在尝试使用特定密钥时系统是否应在用户的密钥链中搜索密码短语。 当用户提供密码短语时,此选项还指定一旦被验证正确,是否应将密码短语存储在钥匙串中。 参数必须为“是”或“否”。 默认为“否”。
苹果已经添加了Technote 2449 ,它解释了发生了什么。
在macOS Sierra之前,
ssh
将显示一个对话框,询问您的密码短语,并提供将其存储到钥匙串中的选项。 此用户界面在一段时间前已过时,已被删除。
#2楼
我认为您已解决了您的问题,但是我看不到这里的解决方案对我有所帮助,所以就在这里。
输入终端:
echo "" > ~/.ssh/known_hosts
这将清空您的known_hosts
文件,并且您必须添加已使用并已连接的每个主机,但是它解决了问题。
#3楼
使用此方法:用适当的主机名替换github.com
git remote set-url origin git@github.com:user/repo.git
#4楼
我同意“ codehugger”并使用“ orkoden”的说明对我有用-在NetBeans 7.3上-右键单击文件并选择上下文菜单时-推动-打开“推到远程”窗口-有两个这里的选项:
origin:https://github.com/myaccount/myproject.git/
https://github.com/myaccount/myproject.git/
如您所见,区别在于URL中的origin参数-您不想选择此选项(1),而是要检查选项(2),这对我来说很好。
#5楼
使用SSH推/拉的Windows和GitHub上的Git指南 : Windows上的Git图解指南
- 下载并安装PuTTY
- 设置环境变量'GIT_SSH'='path \\ to \\ plink.exe'(在已安装的腻子文件夹中)- 非常重要 !
- 重新启动Windows资源管理器以使环境变量生效(不能仅重新启动命令提示符)
- 运行puttygen.exe生成新密钥,将公共密钥复制到GitHub站点
- 将此新私钥保存在磁盘上的安全位置(最好不是Dropbox )
- 运行putty.exe并将SSH连接到github.co
- 通过运行“ shell:startup”快速进入启动文件夹。
- 通过Pageant使Windows的私钥启动。 在启动文件夹中使用语法“ path \\ to \\ pageant.exe”“ path \\ to \\ privatekey”创建快捷方式
- 我们不需要在存储库的.git / config中设置'puttykeyfile'设置
- 非常重要的是,使用的是GitHub的“ SSH克隆URL”,而不是HTTPS。
来源:oschina
链接:https://my.oschina.net/stackoom/blog/3152567