强制git在推送时使用特定键

时间:2017-03-14 11:21:17

标签: git ssh

当我从Groovy脚本推送到Git存储库时,Git正在使用带有用户名和密码的HTTPS连接,而不是我想要的SSH密钥。

我想强制Git在推送到遥控器时使用特定的SSH密钥,如下所示:

var repository;
NodeGit.Clone(GIT_REPO_URL, localPath, CLONE_OPTIONS)
.then(function(repo) {
    repository = repo;
    return repo.getCommit(version);
})
.then(function(commit) {
    repository.setHeadDetached(commit.id());
}).catch((error) => {
    // handler clone failure
});

这可能吗?

1 个答案:

答案 0 :(得分:2)

创建SSH配置文件

  

如果您有多个身份文件,请创建SSH配置文件机制,以便为各种身份创建别名。

     

您可以使用许多参数和不同方法构建SSH配置文件。

     

此示例中使用的别名条目的格式为:

Host alias 
  HostName AAAA.org 
  IdentityFile ~/.ssh/identity
     

要为两个身份(workid和personalid)创建配置文件,您可以执行以下操作:

Open a terminal window.
Edit the ~/.ssh/config file. 

如果您没有配置文件,请创建一个。
为每个标识组合添加别名,例如:

Host workid
HostName AAAA.org
IdentityFile ~/.ssh/workid

Host personalid
HostName BBBB.org
IdentityFile ~/.ssh/personalid