Remote Desktop over SSH

研究室の先輩に命令されて、リモートデスクトップを導入することになった。リモートデスクトップって言うのは、ネットワークに接続しているPCのデスクトップにアクセスし、制御することで、これが使えるようになると、自宅からでも研究室のパソコンを操れるようになるわけだ。似たような機能を提供するものにVNCとか、crossloopがある。

さて、このリモートデスクトップはOS毎に対応が違う。

目標

あるサイトをみると、家のPCで次のように操作すればいいみたい。

以上がそろえば簡単。HOMEPCのCygwin

ssh -L 13389:リモートPC:3389 -1 アカウント名@SEVER

として、リモートPCまでのSSHトンネルを掘ります。後は、HOMEPC上で

localhost:13389

リモートデスクトップの要求を出せばOK.

http://www.ueda.info.waseda.ac.jp/~nakano/index.php?SSH%A5%C8%A5%F3%A5%CD%A5%EA%A5%F3%A5%B0%A4%C7%A5%EA%A5%E2%A1%BC%A5%C8%A5%C7%A5%B9%A5%AF%A5%C8%A5%C3%A5%D7

これを目標に、頑張ろう。

必要なもの

しなければいけないこと

自分がやるのは、研究室のサーバにSSHを導入すること。つまりSSHサーバのセットアップをしなければいけない。SSHサーバのセットアップには、次の手順を踏む。

  • OSのインストール
  • SSHのインストール
  • SSHの設定

やったことを、次の記事に順にまとめていきます。

CentOS5のインストール

CentOSのインストールは、CDやDVDのインストール・メディアを使う方法と、ネットワーク経由でインストールする方法の2通りがある。今回は、ネットからインストールすることにした。公式サイトに行って、ISOをダウンロードして、CDに焼く。

ここから先は、@ITの記事1の方を参考にする。この記事は、少し古いので、FTPサーバーのディレクトリには次のように指定する。

FTPサイト名:ftp.iij.ad.jp
CentOSディレクトリ:pub/linux/centos/5.3/os/i386

途中の設定に戸惑ったら、@ITの記事2を参考にする。これでインストール完了。

SSHサーバのセットアップ

CentOS5にrpmbuildが入っていないので、インストール。

$ yum list | grep rpm-build
rpm-build.i386  4.4.2-47.el5  base  
$ sudo yum install rpm-build
$ which rpmbuild
/usr/bin/rpmbuild

設定ファイルの修正

/etc/ssh/sshd_configを修正。

# RSA秘密鍵 identityを必須にする( no で“必須”を指定 )
PasswordAuthentication no

# rootでのログインを禁止する
PermitRootLogin no

# パスワード無しのログインを許すか
PermitEmptyPasswords no

# .rhosts等を信用するか(RSA認証付き)
RhostsRSAAuthentication no

# ユーザhogeのみ接続許可をする(不特定多数に接続させない為)
AllowUsers hoge

/etc/ssh/sshd_configの設定出来たら、 SSH の再起動を行う。

# /etc/rc.d/init.d/sshd restart
sshdを停止中:                                       [  OK  ]
sshdを起動中:                                       [  OK  ]

sshdが自動スタートするように設定する。

# setup
  • 設定ツールが起動するので、「システムサービス設定」を選択する。
  • telnetの行を見つけ、スペースキーを押して、telnet と書かれた横の [ ] の欄を空白にする。これにより、起動時に telnet自動起動しなくなる。
  • sshd を起動するサービスに設定する。これにより、起動時に SSH自動起動するようになる。
  • 設定を保存して終了する。

鍵の作成