【问题标题】:GNU parallel - running with proxy hostGNU 并行 - 与代理主机一起运行
【发布时间】:2016-10-20 16:09:37
【问题描述】:

我最近一直在处理 GNU 并行和并行计算。我有两台机器可用,一台在我工作的地方,一台在代理机器后面,所以我在 A 工作,我只能通过 B 访问 C,我不能在 B 上计算。

我的问题是,如何为 GNU 并行创建主机文件以了解我想与机器 C 共享文件?我已启用从 B 到 B 和 C 的无密码登录。

谢谢!

【问题讨论】:

    标签: parallel-processing gnu administration


    【解决方案1】:

    发件人:https://www.gnu.org/software/parallel/man.html#EXAMPLE:-Using-remote-computers-behind-NAT-wall

    示例:使用 NAT 墙后的远程计算机

    如果工人在 NAT 墙后面,你需要一些诡计才能接近他们。

    如果您可以 ssh 到跳转主机,并从那里联系工作人员,那么显而易见的解决方案就是这样,但它不起作用:

    parallel --ssh 'ssh jumphost ssh' -S host1 echo ::: DOES NOT WORK
    

    它不起作用,因为命令被 ssh 取消引用两次,而 GNU 并行只希望它被取消一次。

    所以把它放在 ~/.ssh/config 中:

    Host host1 host2 host3
      ProxyCommand ssh jumphost.domain nc -w 1 %h 22
    

    它需要在 jumphost 上安装 nc(netcat)。有了这个,你可以简单地:

    parallel -S host1,host2,host3 echo ::: This does work
    

    无跳转主机,但端口转发

    如果没有 jumphost 但每个服务器都有从防火墙转发的端口 22(例如防火墙的端口 22001 = host1 上的端口 22, 22002 = host2, 22003 = host3)那么你可以使用 ~/.ssh/config:

    Host host1.v
        Port 22001
    Host host2.v
        Port 22002
    Host host3.v
        Port 22003
    Host *.v
        Hostname firewall
    

    然后将 host{1..3}.v 用作普通主机:

    parallel -S host1.v,host2.v,host3.v echo ::: a b c
    

    无跳转主机,无端口转发

    如果端口无法转发,则需要某种 VPN 来穿越 NAT 墙。 TOR 是一种选择,因为它很容易上手。

    您需要安装 TOR 并设置隐藏服务。在 torrc 中放:

    HiddenServiceDir /var/lib/tor/hidden_service/
    HiddenServicePort 22 127.0.0.1:22
    

    然后启动TOR:/etc/init.d/tor restart

    TOR 主机名现在位于 /var/lib/tor/hidden_​​service/hostname 中,类似于 izjafdceobowklhz.onion。现在您只需将 torsocks 添加到 ssh:

    parallel --ssh 'torsocks ssh' -S izjafdceobowklhz.onion \
        -S zfcdaeiojoklbwhz.onion,auclucjzobowklhi.onion echo ::: a b c
    

    如果不是所有主机都可以通过 TOR 访问:

    parallel -S 'torsocks ssh izjafdceobowklhz.onion,host2,host3' echo ::: a b c
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-26
      • 2014-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-05
      • 2012-08-31
      • 1970-01-01
      相关资源
      最近更新 更多