OpenSSHは終了時にドメインソケットをクリーンアップしません。

OpenSSHは終了時にドメインソケットをクリーンアップしません。

SSHトンネルを介してリモートインスタンスの他のUnixソケットに接続されたローカルUnixソケットがあります。

ssh -N -L $HOME/my.sock:/var/run/another.sock

ただし、sshを正常にシャットダウンすると(ctrl + CやSIGTERMなど)、問題は$HOME/my.sock解決しません。これは掃除ができなかったようです。これにオプション/フラグがありますか?

これは、コマンドを2番目に実行すると、既存のソケットファイルが失敗するために問題になります。 (既存のソケットファイルを上書きする「再利用」フラグ/オプションも表示されません。)そしてrm -f $HOME/my.sock

ベストアンサー1

簡単に答えると、コマンドラインフラグを使用して制御できます。-o 'StreamLocalBindUnlink=yes'

長い答え:ssh_config(5)を参照してください。

 StreamLocalBindUnlink
         Specifies whether to remove an existing Unix-domain socket file for local or
         remote port forwarding before creating a new one.  If the socket file already
         exists and StreamLocalBindUnlink is not enabled, ssh will be unable to forward
         the port to the Unix-domain socket file.  This option is only used for port for‐
         warding to a Unix-domain socket file.

         The argument must be yes or no (the default).

おすすめ記事