在Windows上为Eclipse IDE设置系统范围的SSH配置文件
在Windows上为Eclipse IDE设置系统范围的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
的设置文件?
在Eclipse IDE上的Windows操作系统中,出现了一个问题:无法找到(System-wide SSH configuration file)系统范围的SSH配置文件。这个问题的原因是JGit没有实现对系统范围SSH配置文件的支持,它只支持"user"配置文件。
在分析EGit/JGit源代码时,发现JGit只支持读取用户配置文件,并将该对象作为参数传递以创建SSH会话。以下是JGit源代码的一部分:
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; }
解决这个问题的方法是修改JGit源代码,使其支持系统范围的SSH配置文件。这样,就可以在Eclipse IDE上的Windows操作系统中找到并使用系统范围的SSH配置文件。
然而,需要注意的是,修改源代码可能会导致其他问题或不稳定性。因此,在进行任何修改之前,建议先进行详细的测试和备份。
总结起来,要解决Eclipse IDE在Windows操作系统上无法找到系统范围SSH配置文件的问题,可以通过修改JGit源代码来支持系统范围的SSH配置文件。但需要注意修改可能带来的潜在问题。
Eclipse在Windows上的系统级SSH配置文件的问题和解决方法
有人在想是否有一个与/etc/ssh/ssh_config等价的Windows上的文件。根据"Git SSH client for Windows and path for .ssh/config
file"中提到的内容,可以在
如果将GIT_SSH设置为
这需要安装额外的软件。难道eGit/eclipse没有内置的功能来处理这个吗?
没有安装,只是解压的:github.com/git-for-windows/git/releases/download/…
好吧,但问题是这又是一个需要维护的软件(更新错误修复、安全修复等)。当你只有一个安装时,这是可以接受的,但当你需要处理大约100个用户的工作环境时就不行了。
这个软件是安全的,你可以放心下载。