2012-04-08 11 views
0

AVRのCから組み込みLinuxプラットフォームに移行しています。組み込みLinuxのtelnetによるログインと管理

最初にデバイスにログインするためにtelnetの管理コンソール(bashスクリプト/ cプログラム)をどのようにプログラムするべきかについてのいくつかの「ベストプラクティス」提案を評価してください(現在は動作中のカーネルを持っており、世界のCプログラム)を起動して、 'set msc'のようなコマンドを入力できるようにします。ユーザー名?パスワードなど...

「telnet server」としてCプログラムを作成し、ソケット上でTelnetクライアント接続を待っているのでしょうか?あるいは、組み込みLinuxには他のアプローチがありますか?ありがとうございました。

+1

多くの組み込みソリューションはBusyBoxとともに通常のtelnetサーバーを使用し、プラットフォームの特別なニーズを処理するために「カスタム」コマンドを使用します。 –

答えて

0

ベストプラクティスはおそらく既存のソリューションを使用することです。たとえば、組み込みボード(ARMおよびx86プラットフォーム)にはopensshを使用し、デバッグ用にはシリアルコンソールを使用します。これらの両方は、ログイン処理とそのすべてを無料で提供します。

カーネルとrootfsはPTXdistで作成されているため、標準のホストコンピュータから新しいアプリケーションとパッケージを簡単に追加、処理、クロスコンパイルできます。それはうまく動作し、実際に完全なアプリケーションを他のプラットフォームに移植することも非常に簡単です。

+0

ありがとう、私を修正してください。したがって、opensshが認証された後は、opensshからの任意のrx/tx文字をcプログラムにパイプして、デバイスの管理や設定などを行います。 – user1108249

+0

いいえ、opensshはマシン上のリモートターミナルコンソールを提供するだけで、マシン自体を直接使用していれば何でもできる(基本的に)ことができます。私はあなたの疑問を誤解しているかもしれません。あなたが自分のアプリケーションを直接構成するものの代わりに、一般的なマシンではなくカスタムソリューションを探しているのであれば、あなたが探しているものかもしれません。 – sonicwave

+0

はい、独自のカスタムCプログラムを作成する必要があると思います。基本的には、SSH/Telnetセッションがリモートユーザに接続されると、「set msc」のようなカスタムコマンドを入力することができます。インスタンス。これは明らかです。だから、私たちはカスタムCプログラムのルートを下ろす必要がありますか?アドバイスありがとうございます。 – user1108249

0

まず、デバイスとの通信が暗号化されるようにdropbear(軽量sshd)を使用することをお勧めします。必要な場合はtelnetdのみを含めるようにしてください。

どちらの方法を選択しても、dropbear/telnetdを起動するスクリプトを設定する必要があります。これはあなたの流通に依存します。

システムの管理に使用するデバイスのアカウントをセットアップし、そのユーザーのシェルをカスタムCLIにする。 (この情報は/ etc/passwdに保存されています)

CLIは、適切な言語で実装できます。ユーザーのtelnetまたはsshクライアントに接続するstdin/stdoutを読み書きします。側。すべてのtelnetロジックはtelnetdによって処理され、loginを呼び出してユーザーの認証を管理します。これらのアプリケーションは両方ともルートファイルシステムの一部である可能性が最も高いbusyboxで利用できます。

関連する問題