VNCとリモートデスクトップを使って

外部から自宅のWindowsリモートデスクトップで繋いでみた。
目的はVPNを使わない環境でなるべくセキュアに繋ぐ。

自宅ではSSH:22とVNC:5901を空けておく。繋ぎ先はVineにしておく。

VNCとrdesktopを入れておく。
apt-get install vnc
apt-get install rdesktop

SSHは鍵付きにしておく。簡単な方法はまた今度。

SSHVineに入る。
vncserverを立ち上げる。
VNCを繋ぐ。
そこからrdesktopを起動する。
終わったら vncserver -kill hostname:1 でVNCを落とす。

rdesktopは以下のように使う。
rdesktop -a24 -g1152x864 -k ja 127.0.0.1
aオプションで色数を指定する。
gオプションで解像度を指定する。
kオプションでキーボードの指定をする。

VNCTWMなので16bitカラーしか使えなかったけど、ちゃんとWindowsに繋がった。
すごいぜ。

SSHの認証キー設定

いちばん簡単だと思われるSSHの認証キー設定について。

外部に出す場合、SSHには必ず認証キーを設定する。
パスワード認証だけではけっこう簡単にクラックされてしまう。rootとか自分の作ったユーザは問題ないんだけど、mysqlやらapacheが入っていれば、デーモン起動ユーザがクラックされやすい。

Windowsから UTF-8 TeraTerm Pro を使って鍵なしでSSHに繋ぐ。
設定メニューのSSHキー生成を選ぶ。
RSAかDSAで公開鍵/秘密鍵を作成する。
公開鍵をLinuxの $HOME/.ssh/ に authorized_keys という名前でコピーする。

WebminからSSHの設定をする。
VineではWebminは通常の apt-get ではとってこれない。

/etc/apt/sources.list を編集する。後ろのほうに extras を追加する。
#rpm [vine] http://updates.vinelinux.org/apt 3.2/$(ARCH) main devel plus updates
#rpm-src [vine] http://updates.vinelinux.org/apt 3.2/$(ARCH) main devel plus updates
rpm [vine] http://updates.vinelinux.org/apt 3.2/$(ARCH) main devel plus extras updates
rpm-src [vine] http://updates.vinelinux.org/apt 3.2/$(ARCH) main devel plus extras updates

apt-get install webmin で入る。
https://localhost:10000/ でWebmin-サーバ-SSHから設定を行う。
パスワード認証を許可するを「いいえ」にする。

秘密鍵をつかってSSHに繋ぐ。

多分これがいちばん簡単だと思う。
コマンドで鍵作ってもいいんだけど、めんどくさい。