web-dev-qa-db-ja.com

autodshはsystemdで冗長ですか?

永続的なリバースSSHトンネルを作成する場合、systemdを実行しているシステムでautosshは役立ちますか?通常、autosshは、オプション-Mをゼロに設定してリンクの監視を無効にするサービスによって実行されます。つまり、autosshが再起動する前に、sshを終了する必要があります。マニュアルページから:

モニターポートを0に設定すると、モニター機能がオフになり、autosshはsshの終了時にのみsshを再起動します。たとえば、OpenSSHの最新バージョンを使用している場合、ServerAliveIntervalおよびServerAliveCountMaxオプションを使用して、サーバーに接続されていないことが判明した場合にSSHクライアントを終了させることができます。多くの点で、これはモニタリングポートよりも優れたソリューションである可能性があります。

Systemdサービス自体は、次のオプションを含むサービスファイルを使用してこれを実行できるようです。

Type=simple
Restart=always
RestartSec=10

それでは、systemdサービスで実行するとautosshは冗長になりますか?それとも、SSH接続を維持するのに役立つ他のことをしていますか?

ありがとう。

6
Guy

両方を試すのは比較的簡単なので、両方のアプローチの信頼性をテストして、自分で確認してください。

autosshの方が適していると思います。 autosshforegroundで実行するように設計されていますが、systemdは主にbackground特定の-に接続されていないサービス用に設計されています[〜#〜] tty [〜#〜]

また、autosshには、タスクに固有の機能が少なくとも1つあります。

定期的に(デフォルトでは10分ごとに)、autosshはモニター転送ポートでトラフィックを通過させようとします。これが失敗すると、autosshは子sshプロセスを強制終了し(まだ実行中の場合)、新しいプロセスを開始します。

したがって、autosshはプロセスを実行し続けるだけでなく、ssh接続が実際に機能していることを確認しています。

2
Mark Stosberg