web-dev-qa-db-ja.com

コマンドを実行するためにメールをフェッチして処理する方法は?

私はホームサーバーを管理していますが、外出時にサーバー上でいくつかの簡単なコマンドを実行する必要がある場合があります。 3G + SSHは、私の電話(ここアルゼンチン)では高すぎるため、オプションではありません。 SMSを私のメールアカウントに送信する方が簡単です。

サーバーに送信したメールをフェッチし、**で囲まれたテキストをbashコマンドとして処理したいと思います。

どのようなアプローチをお勧めしますか?

3
Tomas

procmail またはその他のメールプロセッサをインストールすることをお勧めします。自分だけが知っている特定の魔法のパスワードの件名を使用して、内容をスクリプトに渡すように構成できます(その後、スクリプトを実行できます)。

しかし...あなたは巨大なセキュリティホールを開いているので、サーバーへの暗号化されていない形式のリモートアクセスであるため、これを行うのは賢明ではありません。

5
Wes Hardaker

この質問が出されてから多くの変更がありましたが、おそらくこの回答は有用なアプローチを提供します。

他の人が指摘しているように、あなたが求めている単純なメール処理はセキュリティホールを開きます。ただし、追加の確認手順でその穴にパッチを適用することもできます。

基本バージョンでは、サーバーが指示メールを受信した後、確認コードをメールアカウントに送信し(生成を別のトピックのままにします)、そのためにサーバーはエコーされるのを待ちます。そうして初めて、最初のメールで送信した指示に進みます。

このソリューションには、バリエーションが豊富に含まれている可能性があります。それらの一部は、コード自体に対する操作です。安全性を向上させるもう1つの方法は、新しい通信チャネルを開くことです。別のモバイルデバイスをサーバーに接続すると、SMSとして認証コードが送信されます。このようにして、誰かがサーバーに指示を送信しようとした場合にも通知が届きます。

0
user147505