コマンド実行方法(リモート、非同期、プール)

コマンド実行方法(リモート、非同期、プール)

リモートデスクトップコンピュータでコマンドを実行したいが、リモートコンピュータが出てから10時間離れているほとんどの時間、オフラインで不明なIPを使用するファイアウォール/ NATの背後にある可能性があるため、SSHは困難です。だから私のコマンドをできるだけ引き出す必要があります。冗談だったのに何か考えていcurl http://.../do.sh | bashました。

そのようなものをサポートするツールはありますか?

私が探しています

  1. シンプルで合理的で安定したもの
  2. Linuxの場合
  3. URL、メールアドレスなどからコマンドを安全に抽出します。
  4. もちろん、ある種の認証が実際に必要です(署名されていない操作は実行しません)。
  5. 標準出力と標準エラーに報告し、終了値が私に返されることがあります。

sshd必要に応じて、HTTPSと有効な証明書をサーバーに提供できます。理論的には自分で何かをハッキングできると思いますが、時間がかかるか心配です。

エマルジョン以前に質問を受けましたが、実際に答えを受けたことはありません。 (プログラムとコードを直接使用してください。$ 250に強力な商用ツールを使用してください。)

答え1

それほど愚かではなく(sshのアイデア)a)sshサービスを提供するシステムがオンラインであり、b)常に同じ名前/ IPを介して接続できる場合は、簡単に実装できます。 SSHスクリプトを使用して、特定のユーザー(デーモン?)アカウントに対してパスワードなしの認証を実行し、ファイルを抽出して操作できます。バスケットを作ることはあまり難しくない(あるいは時間がかかる)ことではないようです。

答え2

gitあるいは、svnストレージの使用とポストフックの使用を検討することもできます。たとえば、

  1. bashクライアントは、実行するコマンドまたはスクリプトのリストを使用してファイルを変更します。
  2. クライアントは、変更されたファイルをリモートサーバー(ほとんどの時間オンラインになっているサーバー、またはランダム/bitbucketサービスgithubプロバイダーgitsvn使用)にプッシュします。
  3. サーバーにログインしたときに実行されるgit merge/svn update
  4. 持つgit merge hookまたはsvn post-update hook trick

難しくなく、サーバーがオフラインであることを処理する方法になる可能性があります。

答え3

私はcfengineやpuppetのようなものを見てみましょう。これらは、リモートサーバーでコマンドを実行し、結果を記録するように設計されています。

関連情報