我有以下用例:我希望能够推送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基于密钥来区分谁在进行推送,因此在访问,所有权和审计方面,用户@服务器字符串对于不同的用户来说是相同的.)
假设我的bitbucket用户名是"jon",我有一些个人项目https://bitbucket.org/jon.
假设我加入了一个开发团队,该团队有一个名为"devteam"的bitbucket帐户,可以在这里找到 https://bitbucket.org/devteam
然后假设我正在建立一台新机器.我生成SSH密钥对,id_rsa并且id_rsa.pub这是在~/.ssh.然后我的开发团队负责人将我的id_rsa.pub公钥添加到bitbucket上的devteam帐户.现在我可以从devteam帐户克隆项目并开始工作.
接下来,我想与自己的jon帐户进行互动.但是,我无法将id_rsa.pub密钥添加到我的bitbucket帐户,因为bitbucket告诉我该密钥已添加到帐户中.这意味着我必须生成第二个密钥对.所以我ssh-keygen -f ~/.ssh/jon -C "jon"按照这里的指示运行:https://confluence.atlassian.com/pages/viewpage.action?pageId = 271943168 然后我将此jon.pub密钥添加到我的jon帐户bitbucket.
现在我有两个密钥对,id_rsa并且jon,我必须配置何时使用哪个密钥.按照上面链接的bitbucket帮助页面上的说明,我config在~/.ssh目录中创建了一个文件,其中包含以下内容:
Host devteam
HostName bitbucket.org
IdentityFile ~/.ssh/id_rsa
Host jon
HostName bitbucket.org
IdentityFile ~/.ssh/jon
Run Code Online (Sandbox Code Playgroud)
然后我被告知我可以进行以下替换:从.git@bitbucket.org:jon/reponame.git到git@jon:jon/reponame.git
所以我尝试执行以下命令:git clone git@jon:jon/reponame.git我收到以下错误:
Initialized empty Git repository in /home/jon/dev/reponame/.git/
Bad owner or permissions on /home/jon/.ssh/config
fatal: The remote end …Run Code Online (Sandbox Code Playgroud) 我有一个比特桶帐户。我用它作为编码项目的远程备份。
但是,在 bitbucket 上创建存储库并尝试推送到它之后,我收到以下消息:
请求的存储库不存在或您无权访问。如果您相信此存储库存在并且您有权访问,请确保您已通过身份验证。致命:无法从远程存储库读取。
如何从命令行进行身份验证?
有什么办法可以使用两个不同的邮箱地址通过SSH Key操作GitLab和GitHub账户吗?
我有两个邮件 id,username@gmail.com并且username@xyz.in我想将一些项目推送到 gitlab 以及一些其他项目到 github,并且我想避免在每个推送命令中输入密码提示。是否可以?