Windows 7でリモートデスクトップ

まずはサーバーとなるコンピュータWindows 7cygwinをインストール。
http://www.cygwin.com/setup.exe
からセットアップファイルをダウンロードしてインストール。インストールの際はデフォルトに加えてNetのopensshとEditorのvimを選んでおく。cygwinのアイコンができたらクリックして起動することを確認。
次にopensshの設定をする。

ssh-host-config -y

とすると自動的に設定ファイルなどが生成される。
つぎに、/etc/ssh_configと/etc/sshd_configをそれぞれ/etc/ssh_config.origと/etc/sshd_config.origにコピーする。

cp /etc/sshd_config /etc/sshd_config.orig
cp /etc/ssh_config /etc/ssh_config.orig

vimエディターでsshd_configを開く。

vim /etc/sshd_config

以下の変更を加える。

#PasswordAuthentication yes

PasswordAuthentication no

#ChallengeResponseAuthentication yes

ChallengeResponseAuthentication no

リモートのパソコンにPuTTYごった煮版をインストール。PuTTYgenを使って秘密鍵と公開鍵を生成する。
公開鍵をUSBメモリに保存。秘密鍵は適当な名前でC:\sshなどに保存しておく。
サーバーのホームディレクトリに.sshディレクトリを作成する。ここに公開鍵を置く。そして、鍵をopenssh形式に変換した後にauthorized_keysに登録する。初めての場合は以下のようにすればよい。

ssh-keygen -i -f id_rsa_putty.pub > authorized_keys

authorized_keysのパーミッションを644に変更しておく。

chmod 644 authorized_keys

サーバーで以下のコマンドを実行してsshdを起動する。

cygrunsrv -S sshd

接続を試してみる。Pageant秘密鍵を登録して、PuTTYを起動、サーバーのIPを入れて接続。
つながらない。。。
そもそもpingを打ってもかえってこない。サーバーにしているWindowsファイヤーウォールを切ったらpingが通った。
再度PuTTYを起動、サーバーのIPを入れて接続。ログイン名を入れるところまでは行くが、no authentication availableとなってしまう。今日はあきらめ。ファイヤーウォールを戻しておく。