SSH経由でサーバーに接続するときに特定のコマンドを実行する方法を見つけようとしています。つまり、接続を開くとコマンドが無条件に実行されるため、Bannerと同時に実行することが望ましいと言えます。 設定すると、オプションが出力されます。 後にコマンドを実行しようとはしていません ログインします。
たとえば、私が求めているのは:
$ ssh [email protected]
(Command essentially executed at this point, before the input prints.)
[email protected]'s password:
これを実行しようとしている理由は、ログインしているかどうかに関係なく、接続が確立されるたびにプッシュ通知を電話に送信する短いスクリプトを実行したいからです。 pam_execを使用する予定でしたが、これはauthのみをトリガーします パスワードを入力してEnterキーを押し、account およびsession_* モジュールは、ログインが成功した場合にのみトリガーされます。接続が開いているが、ユーザーがCtrl + Cを押すだけの場合などに閉じた場合、スクリプトは実行されません。
これを行う方法はありますか?この件に関する情報はあまり見つかりません。
承認された回答:
sshdを実行できます inetd経由 、inetdを使用 実行中:
sh -c 'your-command; exec sshd -iD'
着信接続時(sshd(8)の警告を参照してください ただし)。