8

シナリオ:

多くの組み込みデバイス(Linuxを実行している)がルーターの背後にあるフィールドにあるため、NATが実行され、それらに接続できません。

サポート担当者が任意のデバイスでターミナル/シェルセッションを開始できるようにする必要があります。

彼らのローカル端末も企業ファイアウォールの背後でNAT変換されるため、彼らとデバイスの両方が接続できる中央の「ミーティングポイント」が必要です。

必要に応じて、サポート担当者に何らかのターミナルサーバーへのログインを要求することもできますが、デスクトップにターミナルウィンドウをポップアップするだけのソリューションが望ましいです。

(他の方法で)セッションを開始するために任意のスクリプトまたはアプリケーションを実行するようにデバイスに指示できます。

NATがなければ、デバイスにSSHで接続するだけで、すぐに使用できます。しかし、このNAT環境での私のオプションは何ですか?

必要に応じて、どちらかの端またはミーティングポイントサーバーでコードを開発することは問題ありませんが、アプリが存在する場合は明らかに、何かを書く必要はありません。

私が見逃したかもしれない他の質問へのポインタ(私は見ましたが)または中央の「ミーティングポイント」サーバーのために考慮すべきアプリケーションへのポインタは歓迎されました

4

3 に答える 3

9

デバイスとサポート ユーザーの両方がアクセスできる ssh サーバーをセットアップし、デバイスにリバース トンネルをセットアップしてもらいます (リモート ポート フォワーディングを使用)。

ssh -R 10022:localhost:22 device@server

その後、サポート担当者はサーバーに接続し、次を使用してログオンできます。

ssh -p 10022 localhost

もちろん、デバイスが保持/アクセスできる情報の種類と、サポート組織の設定方法に応じて、ここで説明する必要があるセキュリティの側面がいくつかあります。

于 2012-08-03T09:49:09.287 に答える
8

SSH はこれに適したツールです。あなたが言うように、中間サーバーが必要になります。しかし、「スクリプトを実行する他の手段」がリモートであり、オフィスから実行できると仮定すると、セットアップは非常に簡単です。

そのため、グローバル IP で新しいサーバーを起動し (Amazon AWS マイクロ ノードは 1 年間無料で、問題なく機能します)、ssh デーモンをインストールします。hostname があるとしmiddleman.example.orgます。

組み込みデバイスに配置するスクリプトは次のようになります。

#!/bin/bash
ssh -i ./middle_id.pem -R 22:localhost:2222 middleuser@middle.example.org

(秘密鍵認証は、ログインを非対話的にする方法です)

デスクトップ マシンに配置するスクリプトは次のようになります。$1(引数が組み込みデバイスの IP でありprod_remote_device.sh、選択した組み込みデバイスで上記のスクリプトを実行すると仮定します。)

#!/bin/bash
./prod_remote_device.sh $1
ssh -i ./device_id.pem deviceuser@middle.example.org:2222

これにより、接続が組み込みデバイスに転送されます。

于 2012-08-03T09:51:08.747 に答える