web-dev-qa-db-ja.com

sshdが特定のインターフェースをリッスンするようにします

私のマシンでは、tun0インターフェースを使用するOpenVPNを使用しています。 sshdがこのインターフェースでのみリッスンするようにします。

聞いているIPアドレスを指定できます

/etc/ssh/sshd_config

とともに

ListenAddress 0.0.0.0

指令。しかし、IPアドレスが変わるため、ここでは常に有効なIPを選択できません。 VPNが起動しているときにのみデーモンを起動できることはわかっています。それは問題ではありません。

Sshdを特定のインターフェース(tun0)でのみ待機させるにはどうすればよいですか?

15
Philipp

SshdはIPアドレスしか認識しないため、これを直接行うことはできません。あなたはopenvpn upスクリプトを使用して一緒に何かをノックできるかもしれません

-up cmd TUN/TAPデバイスが正常に開いた後に実行するシェルコマンド(pre --user UIDの変更)。 upスクリプトは、VPN接続の反対側にあるプライベートサブネット宛てのIPトラフィックをトンネルにルーティングするrouteコマンドを指定するのに役立ちます...

クリーンアップする--downオプションと、スクリプトのセキュリティなどを詳述するドキュメントの関連部分も参照してください。

TunデバイスのIPアドレスが環境変数としてスクリプトに渡されることがわかります。また、sshdは次の形式のコマンドラインでオプションを取ります

-oSomeOption=SomeValue

-oオプション構成ファイルで使用される形式でオプションを指定するために使用できます。これは、個別のコマンドラインフラグがないオプションを指定する場合に役立ちます。オプションとその値の詳細については、sshd_config(5)を参照してください

だからあなたは使うことができます

-o ListenAddress=<some address>

おそらく、帯域外の方法でVPSと通信して、これが壊れたときにサーバーに接続できるようになっていると考えられます。

7
user9517