Linuxのデスクトップ画面をリモートから操作する場合、広く知られた所だと「VNC」辺りが有名ですが、オープンソースで開発が勧められているものに「x2go」ってのがあります。
いろいろと利点はありますが、VNCと比較するとこんな感じで違います。
基本的な手順は公式サイトをいろいろ見てくださいな。
公式サイト
wget http://download.opensuse.org/repositories/X11:/RemoteDesktop:/x2go/RHEL_6/X11:RemoteDesktop:x2go.repo
cp X11\:RemoteDesktop\:x2go.repo /etc/yum.repos.d/x2go.repo
移動でも良いけど。
yum install x2goserver
公式サイトからクライアントをダウンロードしていれてくださーい(*´∀`)←ぉぃ
クライアントからx2goで接続すると、接続時に使用したホスト名/IPとそれに対応するSSHのキーがクライアント側のファイルに保存されます。
ファイルの存在は下記の通り
Windowsの場合
C:\Users\ユーザー名\ssh\known_hosts
Linuxの場合
/home/ユーザー名/.ssh/known_hosts
なお、接続先のOSを入れ直すなどすると、キーが変わるので、クライアントはなりすましと判断し、エラーを出力、接続させないようになります。
このファイルは永続的にクライアントに保持されるので、上のようにキーが変更される場合は、known_hostsファイルから該当行を削除するなどの必要があります。
もちろんキーが変わっていない場合はなりすましかもしれないので、known_hostsファイルはいじらないように…
どうやら最近のバージョン(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しましょう。
下記参照
perl(File::BaseDir)に関しては、EPELリポジトリに含まれている様子。
予めEPELリポジトリからyumでインストール出来るように設定した上で、yum install x2goserverとしてやれば、問題なくインストール出来ました。
x2goのクライアントで、ローカルの任意のディレクトリをCentOS側にマウントする設定があるが、基本的にはその設定を行っただけではマウントできない。
これはsshfsというファイルシステムを利用している為に、sshfsの権限設定が必要。
CentOSでx2goserverを構成すると、sshfsはfuse経由での接続になるので、クライアントからログインしてくるユーザーがfuseのグループに所属している必要がある。
具体的には、/etc/groupのfuseの行にユーザー名を追記してやる。
fuse:x:493:user1,user2 ←ユーザー名を後ろにカンマ区切りで追記する
x2goクライアントからx2goサーバーに接続した時、当たり前だが接続先のsshdのfingerprintが変わっていると、アクセスは出来なくなる。
通常、何の前触れもなくfingerprintが変わるのは、DNSキャッシュポイズニングなどの攻撃を受けた場合などだが、接続先サーバを変更した場合や再構成した場合などでも同様の状況に陥る。
この時、前述のとおり、クライアント側はx2goサーバーへアクセス出来なくなる(エラーになる)ので、接続先サーバのfingerprint情報が格納されているファイルを編集し、対象のサーバー情報を削除する。
編集ファイル:{ユーザープロファイルフォルダ}\ssh\known_hosts
例)
kralis.dip.jp ssh-rsa AAAAB3NzaC~~~~~
ホスト名(またはIP)、fingerprintの種類、fingerprintのデータが並んでいるので、再構成した接続先サーバに当たる行を削除し、保存する。
その後、x2goクライアントを起動し、対象サーバーにアクセスすると、今度はアクセス可能になっている。