====== CentOS6.xにX2Goインストール ======
Linuxのデスクトップ画面をリモートから操作する場合、広く知られた所だと「VNC」辺りが有名ですが、オープンソースで開発が勧められているものに「x2go」ってのがあります。\\
いろいろと利点はありますが、VNCと比較するとこんな感じで違います。\\
* メリット
* 基本的に通信はSSH。通信は暗号化されます。
* SSHを使うのでポートは22のみ。画面転送用に別なポートを特別に開放する必要はない。
* VNCに比べると転送効率が良く、レスポンスも良い。VNCのように画面が左上から順に更新されていく感覚は無い。\\ ……と思う。TightVNCとかが相手だと、あまり差異は無いように見えるかも。
* デメリット
* VNCよりはサーバー側の負荷(特にCPU)は若干高め
* 日本語にローカライズされたクライアントが無い
===== サーバーインストール手順 =====
基本的な手順は公式サイトをいろいろ見てくださいな。\\
[[http://www.x2go.org/|公式サイト]]\\
- リポジトリファイルをダウンロードする
wget http://download.opensuse.org/repositories/X11:/RemoteDesktop:/x2go/RHEL_6/X11:RemoteDesktop:x2go.repo
- ダウンロードしたリポジトリファイルを/etc/yum.repo.d/にコピー
cp X11\:RemoteDesktop\:x2go.repo /etc/yum.repos.d/x2go.repo
移動でも良いけど。
- 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)が足りないようなので、先にダウンロードします。\\
[[http://pkgs.org/centos-6-rhel-6/puias-i386/perl-File-BaseDir-0.03-8.puias6.noarch.rpm/download/|一応この辺りで。。。]]ダウンロードしました。
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クライアントを起動し、対象サーバーにアクセスすると、今度はアクセス可能になっている。