我有以下用例:我希望能够推送git@git.company.com:gitolite-admin使用用户的私钥gitolite-admin,而我想推送git@git.company.com:some_repo使用"我自己的"私钥.AFAIK,我无法解决这个问题~/.ssh/config,因为在这两种情况下用户名和服务器名都是相同的.由于我主要使用自己的私钥,因此我已将其定义~/.ssh/config为git@git.company.com.有没有人知道一种方法来覆盖用于单个git调用的密钥?
(旁白:gitolite基于密钥来区分谁在进行推送,因此在访问,所有权和审计方面,用户@服务器字符串对于不同的用户来说是相同的.)
我有一个工作GitHub帐户和个人帐户.首先,我将个人用于测试项目,然后我继续前进并在同一台计算机上使用另一个帐户创建了一个存储库.
现在我想再次在我的个人帐户上创建一个新的存储库,我更改了全局和本地user.name,并在GitHub设置页面中输入了一个新的ssh密钥对.然后我设置了目录
git init
git remote add origin <url>
git push origin
Run Code Online (Sandbox Code Playgroud)
但现在告诉我
错误:对personaluser/newrepo.git的许可被拒绝
我不知道其他帐户是如何连接到这个帐户的..git/config显示没有workusername相关的东西.
如果您使用的是Windows 10,请花些时间阅读Rajan的答案.
我正在尝试使用自定义SSH命令克隆Git仓库.我在GIT_SSH环境中设置SSH命令可变地运行
export GIT_SSH="/usr/bin/ssh -o StrictHostKeyChecking=no -i /home/me/my_private_key".
但是,当我执行上一个命令之后
git clone git@bitbucket.org:uname/test-git-repo.git,我得到以下奇怪的错误
error: cannot run /usr/bin/ssh -o StrictHostKeyChecking=no -i /home/me/my_private_key
fatal: unable to fork
Run Code Online (Sandbox Code Playgroud)
能帮我解决一下这个问题吗?