【问题标题】:Editing files through multi-hop ssh in Sublime Text 3在 Sublime Text 3 中通过多跳 ssh 编辑文件
【发布时间】:2017-06-23 23:20:56
【问题描述】:

我想知道是否可以通过多跳 SSH 隧道使用 Sublime Text 3 编辑文件。在我的特殊情况下,我有我的 Mac(我们称之为 A)和两台 Linux 机器:B 和 C。文件位于 C 中,我使用我的机器访问它们,如下所示:

A -> B -> C

我发现这些文章可以提供帮助,但它们只讨论在 B 中编辑文件。

How to open remote files in sublime text 3

Editing files remotely via SSH on SublimeText 3

根据这些文章,我可以在 B 中编辑文件,在远程机器上安装 rsub,并在 A 的 Sublime 中安装插件。我尝试在 C 中这样做(是的,我知道它不是那么有用,但是谁知道)但我得到了错误:

user@remote-C:~$ rsub
/usr/local/bin/rsub: connect: Connection refused
/usr/local/bin/rsub: line 327: /dev/tcp/localhost/52698: Connection refused
Unable to connect to TextMate on localhost:52698

我很高兴知道是否有办法实现这一目标。提前致谢。

【问题讨论】:

    标签: macos ssh sublimetext3


    【解决方案1】:

    我会回答自己。解决方案是在~/.ssh/config 的ssh 配置文件中使用ProxyCommand,在B 之间进行从AC 的SSH 隧道。

    我添加了这些行:

    Host myMachineC
        HostName NAME_OF_MACHINE_C
        ProxyCommand  ssh USER_IN_B@NAME_OF_MACHINE_B nc %h %p
        User USER_IN_C
        RemoteForward 52698 localhost:52698 # this is required by rsub
    

    Host 为真实主机名定义了一个别名,该别名写在HostName 指令之后。 ProxyCommand 是当您尝试登录myMachineC 时执行的命令。 nc 是一个命令...

    ...默认情况下,在侦听模式(服务器套接字)或用于连接到服务器(客户端模式)的套接字中创建 TCP 套接字 [1]

    现在机器 C 可以从 A 访问,只需输入:

    $ ssh myMachineC
    

    建议您已经允许无密码登录。要实现这一点,您需要将家庭计算机中的公钥安装到沿途每台主机的 ~/.ssh/authorized_keys 中。 [2]

    总结:通过所有这些过程,将与中间机器B 建立正常的 SSH 连接,然后使用nc 将连接扩展到C。使用此隧道,客户端可以像使用 ssh 直接连接一样。这对于与rsub 一起使用会很有用。

    然后,您应该像往常一样安装和使用rsub,它会像魅力一样工作。

    我在 OSX Yosemite 中尝试过,但几乎可以在任何 *nix 系统中运行。希望对你有用。

    Netcat Explanation and Examples

    Transparent Multihop in SSH

    【讨论】:

      【解决方案2】:

      接受的解决方案对我不起作用,因为我将主机 B 用作存储 SSH 密钥的 SSH 服务器。我的 SSH 密钥也有密码,所以 ProxyCommand 命令不起作用。

      但是有一种更简单的方法可以做到这一点。

      您可以将以下内容添加到主机 B 上的 .ssh/config 文件中;

      Host *
      RemoteForward 52698 localhost:52698
      

      您可以定义特定主机或为所有主机指定 * 通配符。这将为来自主机 B 的所有 SSH 会话转发端口 52698。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-03-19
        • 2017-01-26
        • 1970-01-01
        • 2014-10-30
        • 2015-02-14
        • 2014-04-01
        • 1970-01-01
        • 2013-12-26
        相关资源
        最近更新 更多