GNU/Linux >> Linux の 問題 >  >> Linux

ログイン前にSsh接続でリモートコマンドを実行しますか?

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)の警告を参照してください ただし)。


Linux
  1. 複数のリモートシステムで単一のコマンドを一度に実行する方法

  2. Sshリモートコマンドライン引数はどのように解析されますか?

  3. リモートX接続(xdmcp対Ssh)でフォントを構成する方法は?

  1. 複数のホストにSSHで接続し、コマンドを実行しますか?

  2. ssh コマンドを使用してリモート ホストに接続する方法

  3. リモート ssh コマンドで変数を渡す

  1. bash がリモート ssh コマンドでノードをロードしない

  2. SSH経由でtopコマンドを適切に実行するには?

  3. パスワードなしでsshコマンドをsudoコマンドをリモートで実行する方法