ウェブサイト検索

リアルタイムでリモートLinux仮想コンソールを表示および制御するためにConspyを使用する方法


コンピューターネットワークにより、エンドユーザー同士がさまざまな方法で相互に交流できるようになりました。また、旅行や近くのオフィスまで歩く際の煩わしさやコストなしにリモートワークを行う手段も提供されています。

最近、Debianの安定リポジトリにconspyというプログラムを見つけて、それがFedoraやその派生版でも利用可能であることがわかり、嬉しく思いました。

ユーザーがLinux仮想コンソールに表示されているものを見ることを許可し、リアルタイムでキーストロークを送信することもできます。ある意味で、conspyはVNCに似ていると考えることができますが、異なる点はconspyがテキストモードで動作するため(リソースを節約し、CLIのみのサーバーもサポート可能になる)、使用する前にサーバー側のサービスをインストールする必要がないということです。

とはいえ、リモートコンピュータへのネットワーク接続が確保されていることを確認するだけで大丈夫です。そうすれば、conspyを好きになるでしょう。

Linuxにconspyをインストールする

Debian 8およびその派生版では、conspyはリポジトリから直接入手できるため、インストールは次のように簡単です:


aptitude update && aptitude install conspy

CentOS 7やその他のFedoraベースのディストロでは、まずRepoforgeリポジトリを有効にする必要があります:

1. http://pkgs.repoforge.org/rpmforge-release にアクセスし、リポジトリの最新バージョンを検索します(2015年9月現在、最新のパッケージは rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm です)そして、それをダウンロードします:


wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm

2. リポジトリパッケージをインストールします:


rpm –Uvh rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm

3. そして、conspy パッケージ自体をインストールします:


yum update && yum install conspy

コンスパイのために使用されるテスト環境

conspyがどのように機能するかを見るために、Debian 8サーバー[IP 192.168.0.25]にssh接続します(たとえば、Terminalまたはgnome terを使用します)。ここでは、sshデーモンがポート11222で待機しています。


ssh –p 11222 [email 

私たちの端末のすぐ隣に、Virtualboxウィンドウを配置し、ttysを表示します。Virtualboxウィンドウ内でttysを切り替えるには、右のCtrl + F1からF6を押す必要があることを忘れないでください。また、実際の(つまり仮想化されていない)サーバーのコンソール間を切り替えるには、Ctrl + Alt + F1からF6を押す必要があります。

conspyを使用してttysを表示および制御する

コンスパイを起動するには、リモートサーバーにSSHで接続し、次のように入力してください:


conspy

その後に tty 番号 (1 から 6) が続きます。ターミナルの背景色が変わることに気付くでしょう。tty コマンドを使用して、標準入力に現在接続されているターミナルのファイル名を特定します。引数として tty が指定されていない場合は、現在アクティブな仮想コンソールが開かれ、追跡されます。

プログラムを次のように起動した後:


conspy 1

最初の端末 (tty1) が pts/0 (ssh接続の初期 擬似端末) の代わりに表示されます。

終了するには、Escキーを3回素早く押してください。

コンスピをアクションで見る

コンスパイが実際にどのように機能するかを見るために、以下のスクリーンキャストを視聴するために1分ほど時間を取ってください:

1. クライアントからリモートTTYに送信されるキーストローク:

2. Ttyの内容は、リモートttyに表示される通りにクライアントに表示されます:

上記のビデオでは、いくつかの興味深いことを見ることができます:

  1. コマンドを実行したり、擬似端末にテキストを入力すると、それがリモートコンソールに視覚化され、逆もまた然りです。
  2. 他のテクニカルサポートソフトウェアとは異なり、リモート接続するために誰かがサービスを起動する必要がないため、遠隔地のサーバーでサーバーサイドプログラムを起動する必要はありません。
  3. Conspyは、topやpingなどのプログラムの出力をリアルタイムで視覚化することも可能で、ほんのわずかな遅延で継続的に更新または変更されます。これには、htopのようなncursesベースのプログラムも含まれます - Linuxプロセスモニタリングとして:

キーストロークやコマンドを送信するのではなく、リモート端末を表示したいだけの場合は、-vスイッチ(表示のみ)を付けてconspyを起動してください。

PuTTYを使用したconspy

仕事でWindowsのノートパソコンやデスクトップを使用している場合でも、conspyを利用することができます。Putty(Windows用の有名なsshクライアント)を使用してリモートシステムにログインした後、上記の説明のようにconspyを起動できます。以下のスクリーンキャストに示されているように:

それは、サーバーにリモート接続するために使用するsshクライアントソフトウェアに関係なく、このプログラムを使用できることを示しています。

コンスパイの制限

その素晴らしい機能にもかかわらず、Conspyにはいくつかの制限があり、考慮する必要があります。

  1. それは、擬似端末(pts/Xs)ではなく、実際の端末(tty)を表示、接続、または制御することだけを許可します。
  2. 非ASCII文字(例:á、é、ñなど)を正しく表示できない場合や全く表示しない場合があります:

起動するには、スーパーユーザー権限(rootまたはsudoを通じて)を必要とします。

要約

このガイドでは、システムリソースをほとんど消費せずにリモート端末を制御するための非常に貴重なツールであるconspyをご紹介しました。

この素晴らしいユーティリティをインストールして試す時間を取ってくれることを願っています。また、私の謙虚な意見ですが、これはすべてのシステム管理者のスキルセットの一部になるべきツールの一つですので、この文章をブックマークすることを強くお勧めします。

この記事についてのフィードバックをお待ちしております。下のフォームを使って気軽にご連絡ください。質問も常に歓迎です。

関連記事: