1

我现在正在一台有点复杂的远程 Linux 机器上工作。首先,我使用Putty登录了我办公室的一台同样是Linux系统的跳转机,然后我使用命令go跳转到我办公室外的远程机器。使用 putty 时,我还需要一个密钥文件。Linux跳转命令是这样的:

ssh 119.11.11.11 -p 22

IP应根据远程机器IP更改。

我通常的开发方式总是使用Emacs Tramp来远程编辑文件。

我不想将我的 Emacs 配置文件复制到远程机器上,因为在机器之间同步配置文件有点困难。我也不想将文件下载到本地,因为它不方便调试。

在这种情况下,如何使用 Emacs 跳转到远程机器?是否可以使用 Cygwin、Putty 或其他东西进行跳转?

我的桌面是 Windows 7,我的 Emacs 是 24.2

4

1 回答 1

2

假设您不能直接通过 SSH 连接到目标服务器,听起来您可以通过为 tramp 配置多跳代理来解决此问题。

我只尝试过一次,但情况略有不同,我在让它工作时遇到了问题;因此,我将仅将您指向文档,并将其留给更有知识的人在需要时提供其他详细信息。

C-hig (tramp) Multi-hops RET

如果可能的话,我强烈建议使用其中一个scpcrsyncc作为第二个跃点的方法,因为这将自动利用 SSH ControlMaster 保持连接打开,从而显着提高 Tramp 性能。

我不确定是否有 PuTTY/plink 的等价物?我确实知道 Cygwin 由于某些技术原因无法支持 ControlMaster(或者至少几年前就是这种情况),所以使用它可能无济于事。

Cygwin 的 SSH 和 PuTTY 的另一种替代方案是在您的 Windows 机器上托管 Linux(*) VM 并在其中运行 Emacs(这意味着您可以使用 Linux 的 SSH 和 ControlMaster)。Cygwin 可以在这种情况下提供 X 显示。当然,这会使事情复杂化,所以我肯定会先尝试更简单的选项;但如果性能不足,而您的本地 PC 相当强大,那么 VM 方法可能会让您大吃一惊。

* 或类似

完全忽略 Tramp,sshfs 通常用于在本地挂载远程文件系统,在这种情况下,Emacs 甚至不知道它正在与远程服务器通信。我自己从未使用过它,当然也没有在 Windows 上使用过,但它也值得一看。

于 2013-02-01T08:02:57.623 回答