2013年4月4日木曜日

VMwareゲストOSのUbuntu 12.10へホストOSであるWindows 7からsshを使ってログインする

まずは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の設定の問題だろうか?)



ログインに成功。

0 件のコメント:

コメントを投稿