我们在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
的等价物?
答案 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;
}