私は最近、GNU並列および並列計算を扱っています。私は2台のマシンを利用できます.1台はプロキシマシンの後ろに、もう1台はプロキシマシンの後ろにあるので、私はAで働くので、B経由でCにアクセスでき、Bで計算することはできません。GNUパラレル - プロキシーホストで実行する
私の質問は、 GNU並列用のhostsファイルは、マシンCとファイルを共有したいのですか?私はBからBとCの両方にパスワードなしのログインを有効にしました。
ありがとう!
私は最近、GNU並列および並列計算を扱っています。私は2台のマシンを利用できます.1台はプロキシマシンの後ろに、もう1台はプロキシマシンの後ろにあるので、私はAで働くので、B経由でCにアクセスでき、Bで計算することはできません。GNUパラレル - プロキシーホストで実行する
私の質問は、 GNU並列用のhostsファイルは、マシンCとファイルを共有したいのですか?私はBからBとCの両方にパスワードなしのログインを有効にしました。
ありがとう!
から: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を2回使用すると、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が、ポート転送
そこにはjumphostはありませんが、各サーバは、上のファイアウォールから転送ポート22(例えば、ファイアウォールのポート22001 =ポート22を持っている場合HOST1、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
を、その後、通常のホストとしてホスト{1..3} .Vを使用します。
parallel -S host1.v,host2.v,host3.v echo ::: a b c
ノーjumphost、ノーポート転送
ポートを転送することができない場合は、NAT-壁を横断するVPNのいくつかの並べ替えを必要とします。 TORはそのための1つのオプションです。作業が非常に簡単です。
TORをインストールし、隠しサービスを設定する必要があります。 torrcプットで:
HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 22 127.0.0.1:22
そして、TORを起動します。/etc/init.d/tor TORのホスト名は、は/ var/libに/ TOR/hidden_service /ホスト名になりましたし、izjafdceobowklhzのようなものである
を再起動します。玉ねぎ。今、あなたは単にSSHにtorsocksを付加:
ないすべてのホストがTORを介してアクセスしている場合parallel --ssh 'torsocks ssh' -S izjafdceobowklhz.onion \
-S zfcdaeiojoklbwhz.onion,auclucjzobowklhi.onion echo ::: a b c
:
parallel -S 'torsocks ssh izjafdceobowklhz.onion,host2,host3' echo ::: a b c
素晴らしい、ありがとう! –