适用于Windows上Eclipse IDE的系统范围SSH配置文件

时间:2016-08-12 06:18:45

标签: linux eclipse git ssh

我们在Xen上运行的Windows虚拟机上使用Eclipse IDE。另一方面,我们正在使用Gitolite来管理Git存储库。它们使用Gitolite的镜像功能镜像在多个服务器上。

我打算做的是在主服务器关闭的情况下透明地将用户切换到备份服务器。

为此,我的想法是在SSH设置中创建系统范围的主机别名。例如,在Linux上,我会使用/etc/ssh/ssh_config文件,其条目如下:

Host scms.box
    Hostname master-server

如果主服务器关闭,我可以替换主机名:

Host scms.box
    Hostname backup-server

Eclipse IDE正在从~/.ssh/config读取SSH设置,但这是特定于用户的(如在Linux上)。
我想知道Windows上是否会有/etc/ssh/ssh_config的等价物?

2 个答案:

答案 0 :(得分:1)

  

我想知道Windows上是否会有/etc/ssh/ssh_config的等效内容?

如“Git SSH client for Windows and path for .ssh/config file

中所述
 <installPath>\Git\etc\ssh\ssh_config

如果您set GIT_SHH<installPath>\Git\usr\bin\ssh.exe(以及启动Eclipse),那么Eclipse也应该使用全局ssh配置。

答案 1 :(得分:1)

简短回答:它没有在JGit中实现。它只支持&#34;用户&#34;配置文件。

长答案:我一直在研究EGit / JGit源代码。 JGit正在读取SSH配置并将对象作为参数传递以创建SSH会话。但是,JGit仅支持用户配置文件。

jgit/org.eclipse.jgit/src/org/eclipse/jgit/transport/OpenSshConfig.java的片段:

public static OpenSshConfig get(FS fs) {
    File home = fs.userHome();
    if (home == null)
        home = new File(".").getAbsoluteFile(); //$NON-NLS-1$

    final File config = new File(new File(home, ".ssh"), Constants.CONFIG); //$NON-NLS-1$
    final OpenSshConfig osc = new OpenSshConfig(home, config);
    osc.refresh();
    return osc;
}