まずはVMwareのゲストOSであるUbuntu 12.10にsshのインストール。
$ sudo apt-get install ssh
sshはメタパッケージという関連するパッケージをまとめてインストールしてくれるシロモノらしい。
これで、
- openssh-client
- openssh-server
の2つのパッケージがインストールされる。
続いて、実行状態の確認。
$ service ssh status
$ ssh start/running, process 4943
すでに実行されていた。驚き。
デーモンの名前がsshdでないことにも少し意外。
続いて、VMwareのホストOSであるWindows 7の準備。
sshでログインするためのターミナルを入手する。
奇をてらわずにTeraTermを選択。
窓の杜 TeraTerm
sshは公開鍵暗号方式の認証を使用するのが一般的。
なので接続する側で公開鍵と秘密鍵を生成する必要がある。
幸いTeraTermには鍵の生成機能がある。
TeraTerm起動直後に表示される接続画面は消して。
設定->SSH鍵生成を選択する。
生成ボタンを押したあと、パスフレーズにはUbuntuのログインしたいユーザーのパスワードを入力する。
公開鍵の保存と秘密鍵の保存を両方共押して、ファイルを保存する。
続いて、生成した公開鍵をゲストOSのUbuntuに登録する。
まず先ほどファイルで保存した公開鍵ファイル(デフォルトの場合、id_rsa.pubとなる)をテキストエディタで開いて、中身をすべてコピーする。
VMware上のUbuntuに移動して、公開鍵の登録作業を行う。
$ cd
$ cd .ssh/
$ nano authorized_keys
公開鍵の登録場所はユーザーホームにある.sshディレクトリの中。
そこに配置したauthorized_keysというファイルの中。
最初はこのファイルはないので、自力で生成する必要がある。
(てっきり空のファイルがあると思って焦った)
VMware上のゲストOSとしてのUbuntu 12.10はホストOSとのクリップボード共有が可能なので、ファイル内にコピーした公開鍵のテキストを貼り付ける。まるごと。
そしてファイルを保存。
最後に、TeraTermを使って接続を試みてみる。
接続先のIPアドレスは、Ubuntu上でifconfigを使って確認する。
inet addrがそれに当たる。
サービスはSSHを選択。
TCPポートは22。
SSHバージョンはSSH2。
そしてOKボタンを押す。
ユーザ名、パスフレーズを入力。
RSA/DSA鍵を使うを選択して、生成した秘密鍵ファイルを参照する。
そしてOKボタンを押す。
(プレーンテキストでもログインできた・・・Ubuntu側のsshの設定の問題だろうか?)
ログインに成功。