web-dev-qa-db-ja.com

SSH経由でローカルコンソールにアクセスする

直接接続されたキーボードの場合と同じように、SSH経由でローカルコンソールと対話する方法を探しています。

私の特定のケースでは、tty1にいくつかのテキスト値を表示するDebianサーバー(コンソールのみ、Xシステムなし)を入手しました。このコンピューターには入力デバイスは接続されておらず、ディスプレイは1つだけです。設定はsshを介して行われます。 SSHで実行されたコマンドは、tty1に表示されます。

X-WindowシステムでVNCセッションが行うのと同じ方法でtty1と対話する方法はありますか?

2
gorootde

現在画面に表示されているテキストは/dev/vcsから読むことができます。ターミナルウィンドウの列数がサーバー上の実際の画面出力と同じである場合は、cat /dev/vcsと入力するだけで、認識可能な出力を取得できます。

常にアクティブなコンソールではなく、特定のコンソールにアクセスするための番号を追加できます。また、フォーマット情報も必要な場合は、vcsaを使用できます。したがって、たとえば、/dev/vcsa1を使用して、フォーマット情報を含む最初のVC longのテキストを取得できます。

キーボード入力の生成は別の問題です。 AFAIR gpmが使用する呼び出しは、カットアンドペーストのみをサポートし、任意のキーストロークを入力することはできません。ネットでのいくつかの検索では、そのままではサポートされていないことが示唆されましたが、ドライバーとして 実装 することは可能です。

4
kasperd

実際のサーバーの場合、システムコンソールにアクセスできるようにする帯域外管理(IPMI)機能があります。たとえば、DellサーバーはそれをiDRACと呼び、HPサーバーはiLOを備えています。

サーバーにそのような機能がない場合は、IP KVMデバイスをサーバーに接続できます。

3
Michael Hampton

私はこれが古い質問であることを知っていますが、ここにいくつかの洞察があります:

  • 「画面」を使用することは行く方法です

  • screenと入力することから始めます

  • コマンドを入力してください

  • ctrl + A dを押します(画面を終了するには)

  • これにより、現在のセッションから画面が切り離されます。

  • サーバーに再度ログインしたら、次のように入力できます:screen -lsアクティブな画面のリストを表示するには

  • コマンドを使用して画面を再接続します:screen -r <id of the screen>