是否可以临时更改"git push remote master"的ssh用户而不会搞乱.git/config或"git remote",或者使用整个远程url?
[root@host gitrepo]# git push otheruser@remote master # this does not work, but how great it would be
[root@host gitrepo]# USER=otheruser git push remote master # still asks password for root
Run Code Online (Sandbox Code Playgroud) 我一直在寻找一个关于如何使用多个ssh密钥的解决方案,我发现它可以在.ssh目录中使用配置文件,但它不适用于Windows.
我的问题是,我使用的是私有密钥来访问git的服务器,所以它看起来是这样的:SSH://git@example.com/directory,它工作正常,当我使用TortoiseGit,"原因是有选择私钥的可能性.
但是我想在我的IntelliJ IDEA中使用git rep,只有使用git native shell的选项,如果我将名为id_rsa的密钥放入.ssh文件夹,它也可以工作.现在我想使用多个ssh密钥(因此我的密钥将获得名称"id_rsa_test",因此如何在Windows下配置.ssh/config文件,它是否适用于通常的git服务器?
我发现的大多数例子都只是用于github.
我有多个Git帐户,一个是我个人使用,一个是公司使用.两个帐户来源都需要从我的笔记本电脑激活.这里我生成了两个ssh键,如id_rsa.pub,id_benwork_rsa.pub ,我配置了git 的配置为
Host sfsworkdid
HostName bitbucket.org
IdentityFile ~/.ssh/id_rsa
Host workdid
HostName bitbucket.org
IdentityFile ~/.ssh/id_benwork_rsa
Run Code Online (Sandbox Code Playgroud)
所以这里我的问题是:: -同时推送任何repo git询问第一个ssh_key密码.每次我将git config中的user.name更改为git config user.name"mybitbucketusername".所以请指定我如何在同一系统中使用多个ssh密钥维护多个git帐户
我选择了如何使用多个ssh密钥,多个bitbucket帐户, 但没有使用Blockquote
在github/bitbucket上使用多个帐户/多个身份进行推送对于达到目前为止有点帮助
是否有可能访问(fetch/ push)使用ssh和身份文件(私钥),而不添加文件条目中的远程仓库~/.ssh/config,例如:
Host tingle
HostName 111.222.333.444
User git
IdentityFile c/tmp/my_id_rsa
Run Code Online (Sandbox Code Playgroud)
配置~/.ssh/config文件时一切正常.但是我们有一个脚本,它从远程仓库克隆,检出,开始测试,提交结果并推送它们.该脚本需要在任何计算机上运行,而无需触及ssh配置文件.
我有各种系统的多个ssh配置文件夹,例如:
ssh -F ~/.ssh/system-a/config user@system-a
ssh -F ~/.ssh/system-b/config user@system-b
Run Code Online (Sandbox Code Playgroud)
每个文件夹都有一个配置文件和一组标识文件,如此
Host system-a
HostName <some_hostname>
User <some_username>
IdentityFile ~/.ssh/system-a/keys/system-a.pem
Run Code Online (Sandbox Code Playgroud)
在执行git任务时如何告诉git使用某个ssh配置文件或某个ssh密钥?
理想情况下,如果可以,我希望每个git项目都这样做.
我在同一台计算机上使用多个 git 帐户。我想更改帐户的设置。搜索谷歌,但无法找到有助于打开配置文件的命令。
编辑:看起来有不同的方式和配置文件来访问 github。
@Altius 给出的答案在这里:gist.github.com/jexchan/2351996
我尝试了这两种方法 - 在为我的第二个帐户设置 SSH 密钥后,但都未能将存储库推送到我的第二个帐户,但我可以看到存储库被推送到我的第一个默认帐户,无论我对任何配置文件进行什么更改。
我有一个git 存储库.我在Windows中有一个GUI客户端,在Eclipse ADT中有一个EGit.通常我在Eclipse ADT中编辑并使用GUI Client更新Github仓库.首先我提交(创建一个缓冲区)然后当我同步它时将它上传到我的实际仓库.
现在我在Linux(CentOS 6.4)上克隆了我的repo.一切都准备好了.我换了一些文件.然后我使用git add并git commit -m "message" -a命令它工作正常.但我的实际github回购没有更新.经过一段谷歌搜索后,我发现我们必须明确提供git push命令.之后我得到了
[aniket@localhost Android]$ git push
error: The requested URL returned error: 403 Forbidden while accessing https://github.com/aniket91/Android.git/info/refs
fatal: HTTP request failed
Run Code Online (Sandbox Code Playgroud)
出了什么问题?没有防火墙或代理,我靠近iptables服务.有没有人遇到过这种情况?应该做什么?
在听完这个答案后(哪种工作我得到了以下错误)
[aniket@localhost Android]$ git push origin master
The authenticity of host 'github.com (192.30.252.130)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,192.30.252.130' (RSA) to the …Run Code Online (Sandbox Code Playgroud) 所以我将我的公共 ssh 密钥添加到 git 存储库中。我已将私钥添加到我的 /c/Users/totty/.ssh/。
当我运行ssh -vT git@github.com它说Hi X! You've successfully authenticated, but GitHub does not provide shell access.
当我跑步时,git push origin我得到Permission to * denied fatal: Could not read from remote repository
这个github有什么问题?我无法从 cmd、git 扩展中推送。但它可以从 Windows 的 github 工作...
删除我的 ssh 密钥并运行后, ssh -vT git@github.com我得到debug1: No more authentication methods to try..
Also another thing that is strange... if you look at the circled text, that's not my username or email …
我有多台计算机在同一个项目上工作,我正在使用免费的assembla git repo帐户来管理所有这些.
为了访问git repo,我需要在每台计算机上生成唯一的SSH密钥.但是,计算机也可能正在处理其他的assembla项目,因此每当我生成一个新的ssh密钥时就会出现冲突(就像我必须继续替换id_rsa文件).一旦我在本地机器上重新创建id_rsa文件(并替换它们),它就会使用先前生成的ssh密钥失去对先前的assembla git项目的访问权限.
我对整个git业务都很陌生,并且在我去的时候努力学习.
我找到的东西听起来像是我问题的解决方案:"不同项目的不同SSH密钥" http://www.assembla.com/spaces/breakoutdocs/wiki/Different_SSH_keys_for_different_projects
但是,我不明白怎么做#1?它说"在$ PATH这个脚本中放置一个地方(让它的名字将是gitssh)",但我不知道"$ PATH"是什么/在哪里?
任何帮助将不胜感激.谢谢!!
如果我把它作为一个用例,这个问题很简单.我的计算机上有两个SSH密钥
我在bitbucket.org上有两个不同的用户帐户.其中一个是我的个人帐户,另一个是我的公司帐户.我的电脑上也有N个存储库.其中一些必须与我的个人帐户和一些其他回购与公司帐户链接.没有必须链接到这两个帐户的存储库.我已经设置了Identityfile里面~/.ssh/config的东西像下面.
Host *.bitbucket.org
IdentityFile ~/.ssh/company_id_rsa
Run Code Online (Sandbox Code Playgroud)
每当我想将某些内容推送到我的个人存储库时,我将配置文件更改为如下所示.
Host *.bitbucket.org
IdentityFile ~/.ssh/personal_id_rsa
Run Code Online (Sandbox Code Playgroud)
现在,每当我想制作一个文件时,编辑文件就变得非常不方便了git push.我只是想我是否可以随时拿起其中一把钥匙,当我推动时,它会更容易.有没有办法这样做?
我遇到了这个解释类似用例的问题,但这不是这里的确切用例.