SSHを介して監視し、変更が検出されたらローカルスクリプトを実行します。

SSHを介して監視し、変更が検出されたらローカルスクリプトを実行します。

Cygwinを介してLinuxシステムにSSH接続できる環境がありますが、制御できないセキュリティポリシーのため、Linuxシステムに接続できません。

Windows コンピューターでタスクを自動化する必要がありますが、Linux コンピューター (モニター対象フォルダーや Web サービスなど) からインポートされたスクリプトまたはパラメーターを使用してこれらのタスクを指示する必要があります。

このリモート変数の変更が検出されたら、SSH接続を開いたままにし、Windowsシステムで他のCygwinコマンドをトリガできるようにこれをどのように構築できますか?

ユースケースの例には、パラメータを使用したブラウザの自動化があります。 gitリポジトリと各実行の前に、まず最新のコードと同期するループスクリプトを使用してこれを実行できますが、他の変数やシェルスクリプトを渡して強制終了するなど、より多くの制御機能を持ちたいと思います。 。ワイヤー。

修正する:結局のところ、ポート22接続を許可するようにWindowsファイアウォールを変更する別の方法があるので、幸いなことにこの複雑さは必要ありませんが、以下に示す提案が好きです。

修正する:このシナリオがまだ存在しているようです。 SSHを介してシステムに直接アクセスするとジョブを実行できますが、ジョブはGUIジョブを実行したいネットワークドメインユーザーではなくSSHユーザーでサンドボックス化されます(ドメインユーザーの環境で実行されている場合はローカルCygwinインスタンスが機能しません)。ドメイン)問題があります)グラフィカルユーザーインターフェイス)。以下の私の答えをご覧ください。

ベストアンサー1

Windowsシステムでsshdを実行できますか?その場合は、Linux コンピュータが次のように Windows コンピュータにコマンドを送信できるようにトンネルを開くことができます。

ssh -R 2222:127.0.0.1:22 user@linuxmachine control-script

これにより、コントロールスクリプトにはすべてのチェックが含まれ、Windowsシステムでタスクを実行する必要がある場合は、次のタスクを実行します。

ssh -p 2222 user@localhost something.cmd

おすすめ記事