多くのLocalForwardポートを介したautossh

多くのLocalForwardポートを介したautossh

プライマリサーバーに接続する必要があります。これをserver1と呼びます。その後、そこから他の多くのサーバー(host1、host2、... host99)にアクセスできます。私のautosshは問題なくserver1で動作します。回復されます。私の接続は次のとおりです。ネットワーク接続が切断されるたびに server1 に送信されます。しかし、server1への接続を維持することは私の唯一の目標ではありません。このコンピュータを使用するときは、ホスト1、2などに接続し続けたいと思います。

私はこれを使用してserver1にアクセスします。

autossh server1

Host1 で autossh を試みると、次のような結果が表示されます。

local autossh[867] <Error>: bind on 127.0.0.1:12346: Address already in use

現在、私の監視ポートは12345(〜/ .bash_profile)に設定されています。

export AUTOSSH_PORT=12345

...localhostポートが1234のようです。6次回試しましたが失敗しました。

私の~.ssh/configには次の転送設定があります。

Host server1
  User jacob
  HostName server1.mydomain.com
  Port 722
  ForwardAgent yes
  LocalForward 1124 1:22
  RemoteForward 52698 127.0.0.1:52698 #for sublime text / rmate
  IdentityFile ~/.ssh/id_rsa

Host host1
 User jacob
 HostName localhost
 RemoteForward 52698 127.0.0.1:52698
 Port 1124
 ForwardAgent yes
 IdentityFile ~/.ssh/id_rsa

.... "アドレスが既に使用されています"エラーに関するすべての内容を読み、設定ファイルを修正してetc / hostsファイルにホストを追加しようとしましたが、まだ同じ結果が表示されます。どんなアイデアがありますか?

ベストアンサー1

(manページ)によると、man autosshモニタリングポートは単一の番号で指定され、autosshモニタリング機能にはそのポートとポート+1の両方を使用します。ここで後者を「エコーポート」(モニタリング応答受信用)といいます。これは、ポート+1でリッスンしてそのポートを要求することを意味します。後続のプログラムにはautossh別のポートを提供する必要があります。

または、接続テストを終了してからシャットダウンssh時に再起動するポート0を使用できます。マニュアルページを引用すると、次のようになります。

監視ポートを0に設定すると、監視機能はオフになり、autosshはsshが終了したときにのみsshを再起動します。たとえば、最新バージョンのOpenSSHを使用している場合は、次のようにナビゲートできます。 サーバー活動間隔そしてサーバーの最大アクティビティ数SSH クライアントがサーバーに接続されていないことを検出したら、シャットダウンを選択できます。多くの点で、これはモニタリングポートよりも優れたソリューションです。

おすすめ記事