ユーザ用ツール

サイト用ツール


ja:centos:x2goインストール

CentOS6.xにX2Goインストール

Linuxのデスクトップ画面をリモートから操作する場合、広く知られた所だと「VNC」辺りが有名ですが、オープンソースで開発が勧められているものに「x2go」ってのがあります。
いろいろと利点はありますが、VNCと比較するとこんな感じで違います。

  • メリット
    • 基本的に通信はSSH。通信は暗号化されます。
    • SSHを使うのでポートは22のみ。画面転送用に別なポートを特別に開放する必要はない。
    • VNCに比べると転送効率が良く、レスポンスも良い。VNCのように画面が左上から順に更新されていく感覚は無い。
      ……と思う。TightVNCとかが相手だと、あまり差異は無いように見えるかも。
  • デメリット
    • VNCよりはサーバー側の負荷(特にCPU)は若干高め
    • 日本語にローカライズされたクライアントが無い

サーバーインストール手順

基本的な手順は公式サイトをいろいろ見てくださいな。
公式サイト

  1. リポジトリファイルをダウンロードする
    wget http://download.opensuse.org/repositories/X11:/RemoteDesktop:/x2go/RHEL_6/X11:RemoteDesktop:x2go.repo
  2. ダウンロードしたリポジトリファイルを/etc/yum.repo.d/にコピー
    cp X11\:RemoteDesktop\:x2go.repo /etc/yum.repos.d/x2go.repo

    移動でも良いけど。

  3. yumでインストール
    yum install x2goserver

クライアントインストール手順

公式サイトからクライアントをダウンロードしていれてくださーい(*´∀`)←ぉぃ

備考

クライアントからx2goで接続すると、接続時に使用したホスト名/IPとそれに対応するSSHのキーがクライアント側のファイルに保存されます。
ファイルの存在は下記の通り

Windowsの場合

C:\Users\ユーザー名\ssh\known_hosts

Linuxの場合

/home/ユーザー名/.ssh/known_hosts

なお、接続先のOSを入れ直すなどすると、キーが変わるので、クライアントはなりすましと判断し、エラーを出力、接続させないようになります。
このファイルは永続的にクライアントに保持されるので、上のようにキーが変更される場合は、known_hostsファイルから該当行を削除するなどの必要があります。
もちろんキーが変わっていない場合はなりすましかもしれないので、known_hostsファイルはいじらないように…

追記(2012/12/19)

どうやら最近のバージョン(3.1.1.9以降?)ではyum install x2goserverとするとエラーになるようです。

 Error: Package: x2goserver-3.1.1.9-2.1.x86_64 (X11_RemoteDesktop_x2go)
           Requires: perl(File::BaseDir)
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

perl(File::BaseDir)が足りないようなので、先にダウンロードします。
一応この辺りで。。。ダウンロードしました。

wget http://puias.math.ias.edu/data/puias/6/i386/os/Addons/perl-File-BaseDir-0.03-8.puias6.noarch.rpm
rpm -ivh perl-File-BaseDir-0.03-8.puias6.noarch.rpm

この後、yum install x2goserverしましょう。
下記参照

追記(2013/01/21)

perl(File::BaseDir)に関しては、EPELリポジトリに含まれている様子。
予めEPELリポジトリからyumでインストール出来るように設定した上で、yum install x2goserverとしてやれば、問題なくインストール出来ました。

追記(2013/04/10)

x2goのクライアントで、ローカルの任意のディレクトリをCentOS側にマウントする設定があるが、基本的にはその設定を行っただけではマウントできない。
これはsshfsというファイルシステムを利用している為に、sshfsの権限設定が必要。
CentOSでx2goserverを構成すると、sshfsはfuse経由での接続になるので、クライアントからログインしてくるユーザーがfuseのグループに所属している必要がある。
具体的には、/etc/groupのfuseの行にユーザー名を追記してやる。
fuse:x:493:user1,user2  ←ユーザー名を後ろにカンマ区切りで追記する

追記(2013/07/18)

x2goクライアントからx2goサーバーに接続した時、当たり前だが接続先のsshdのfingerprintが変わっていると、アクセスは出来なくなる。
通常、何の前触れもなくfingerprintが変わるのは、DNSキャッシュポイズニングなどの攻撃を受けた場合などだが、接続先サーバを変更した場合や再構成した場合などでも同様の状況に陥る。
この時、前述のとおり、クライアント側はx2goサーバーへアクセス出来なくなる(エラーになる)ので、接続先サーバのfingerprint情報が格納されているファイルを編集し、対象のサーバー情報を削除する。
編集ファイル:{ユーザープロファイルフォルダ}\ssh\known_hosts
例) kralis.dip.jp ssh-rsa AAAAB3NzaC~~~~~ ホスト名(またはIP)、fingerprintの種類、fingerprintのデータが並んでいるので、再構成した接続先サーバに当たる行を削除し、保存する。
その後、x2goクライアントを起動し、対象サーバーにアクセスすると、今度はアクセス可能になっている。

ja/centos/x2goインストール.txt · 最終更新: 2014/06/02 00:24 by makoto