私は通常これを見つけることができますが、私がやっていることが根本的に間違っているような気がします。
私はmuninサーバーとクライアントを持っています。良い結果。彼らはすべてプライベートネットワークにいます。今私は私が持っているmuninサーバーを忘れて、代わりにインターネット上のmuninサーバーを使いたいです。インターネット上のサーバーはSSH接続を許可します。そのため、クライアントからサーバーへのSSHトンネルを作成し、サーバーにmuninクライアントに問い合わせさせることができると思いました。だから基本的に:
リモートクライアント----ルーター---- [インターネット]----サーバー
これまで私は読んだ。この有望な質問。しかし、それはまだ展開されていません。私も読んだFAQにありますしかし、よくある質問を何度も読んだ後は、よくある質問に明確に説明されていることを確信しています。仕える人SSHを起動してください。顧客。
私は逆にしようとしています。
私はこれをクライアント側で使用します。
ssh -L 49499:localhost:4949 -f [email protected] -p 2222 -N
(はい、sshは2222を受け取ります。)
クライアント munin 構成には次のものがあります。
[remoteclient]
address 127.0.0.1
port 49499
use_node_name yes
サーバーでは、次のように失敗します。
starting work in 6794 for remoteclient/127.0.0.1:49499
[FATAL] Socket read from remoteclient failed. Terminating process. at /usr/share/perl5/Munin/Master/UpdateWorker.pm line 254.
繰り返しますが、私がやりたいことは、私が読んでいる他のFAQ /プロジェクトと反対しているようです。
答え1
あなたはリモート転送代わりに、ある種のトンネル地域配信タイプ。
RemoteForward
指定するリモートコンピュータのTCPポートセキュアチャネルを介して配信されます。
したがって、クライアント側では次のことを行います。
ssh -L 49499:localhost:4949 -f [email protected] -p 2222 -N
単に次に置き換える必要があります。
ssh -R 49499:localhost:4949 -f [email protected] -p 2222 -N
このようにして、リモートシステムはサーバーがローカルホストからポートを開き、トンネルトラフィックをクライアントのローカルホストに転送します(トンネルの終了時にクライアントに残ります)。