2013-03-21 39 views

回答

31

您是否尝试过采用全遥控网址是什么?

git push ssh://<temp_user>@<host>/<repo_path> <local_branch>:<remote_branch> 

,你会被提示输入密码

+0

是的,我已经尝试过了。通常我从“git remote -va”复制粘贴。它工作,虽然它创建一个额外的远程追踪分支拉。 – Andor 2013-11-04 14:34:10

+0

我通常使用pubkey来推送提交。即使我指定了一个不同的用户,我仍然会得到'Permission denied(publickey)(公钥)。 致命:无法从远程存储库读取.'如何推送以便我可以输入不同帐户的密码? – nipponese 2017-08-29 03:15:05

5

与GIT登记的SSH远程地址可能已经包括用户名,所以你需要使用一个完整的URL的SSH像:

[email protected]:arepo 

这是行不通的,因为SSH将使用默认公钥/私钥(当前由第一个用户进行验证)。

您可以在本地配置一个新的远程登记:

# use the current ssh address registered for origin, changing just the user 
# but you need a config file 
git remote add originOtheruser otheruser:arepo 

你必须有一个$HOME/.ssh/config文件,以定义SSH进入“otheruser”,因为SSH需要知道什么公共/私钥它需要使用:它不能是默认的($HOME/.ssh/id_rsa$HOME/.ssh/id_rsa.pub

例如,见“how to add deploy key for 2 repo with 1 user on github

Host otheruser 
HostName remote 
User otheruser 
IdentityFile ~/.ssh/otheruser 

那假设你已经存储的公开/私有密钥otheruser为:

$HOME/.ssh/otheruser 
$HOME/.ssh/otheruser.pub 

现在,您可以使用新的远程推:

git push originOtheruser master 
+1

我已经经历了#1和谷歌搜索问这个问题之前。我需要一个快速/即时/临时/临时解决方案,而不是永久性解决方案。用户名有意不包含在远程URL中,公共密钥认证在这个repo服务器上是可选的。这真的不是我想要的。 – Andor 2013-03-21 17:09:34

+0

@ user77376“这个repo服务器上的公钥认证是可选的”?那么它不是一个SSH连接。如果你需要指定另一个用户,那么它就是'$ HOME/.ssh/config'。这可能不是你想要的,但这是使用不同用户的ssh所需的:一种指定公钥/私钥的方式。如果你目前没有'id_rsa(。酒吧)'某处,那么我们不是在谈论嘘(或不是我熟悉的ssh)。 – VonC 2013-03-21 18:19:59

+1

这是简单的SSH,但也可以用密码进行身份验证。对于一个普通的ssh连接,你应该首先指定一个用户名和一个密码/公共密钥/ kerberos票据或者服务器接受的任何认证。 – Andor 2013-03-22 13:40:07

17

一旦你做了承诺,你可以使用下面的语法:

git push https://<username>@github.com/<github repository> <local branch name>:<remote branch name> 

你会被要求输入github上密码来处理推送。

例如,如果你的GitHub用户名是“foobar的”资料库克隆的网址为“https://github.com/bar/ish.git”,以及本地和远程分支命名为“现时”,你可以使用以下命令:

git push https://[email protected]/bar/ish.git nonce:nonce 
+2

Github注意:如果启用了双因素身份验证(2FA),则在提示输入密码时,必须输入个人访问令牌而不是密码(请参阅:https://help.github.com/articles/providing-你的-2FA认证代码/#通过命令行) – qff 2016-05-26 07:58:44

8

我用

git push https://github.com/${userName}/${repoName} 

它会提示你输入用户名和密码

+2

这是Github的具体,而原来的问题是关于更一般的Git。 – 2015-07-08 09:58:38

+0

Github注意:如果启用了双因素身份验证(2FA),当系统提示您输入密码时,您必须键入个人访问令牌而不是密码(请参阅:https://help.github.com/articles/providing-您-2FA认证码/#直通命令行) – qff 2016-05-26 07:58:53

相关问题