Vim通过机器A从机器B编辑文件

时间:2014-01-22 01:33:11

标签: vim ssh macvim scp

例如,我有两台远程机器。比方说,A,B。 通常我可以用vim scp:// A / path / file来远程编辑本地的A文件。 那么,是否有一种方法可以直接使用vim从主机上编辑机器B(只能从A访问)?非常感谢你。

The topology:
  +---------------------------------------------------------------+
  |                                                               |
  |                                                               |
  |      +--------------+        +-----------+     +-----------+  |
  |      |              |        |           |     |           |  |
  |      |    HOST      | +----> |     A     |+--->|     B     |  |
  |      |              |        |           |     |           |  |
  |      +--------------+        +-----------+     +-----------+  |
  |                                                               |
  +---------------------------------------------------------------+

1 个答案:

答案 0 :(得分:0)

我同意@Conner这是一个ssh-tunneling问题,但无论如何这里是一个可能的答案..

  • 在主机上安装 netcat 'A'
  • 将此添加到$ HOME / .ssh / config:

    Host RemoteHost
        Hostname B
        User UsernameOnB
        Port 22
        ProxyCommand ssh UsernameOnA@A 'nc %h %p'
    

您必须更换'A''B''UsernameOnA''UsernameOnB'使用 A B 的匹配主机名或IP地址(并检查netcat是否安装为'nc''netcat '我见过两个......)

之后你应该能够:

$ vim scp://RemoteHost/path/to/file

如果您对两个系统都有公钥访问权限,则此设置效果最佳,否则系统会提示您输入密码。