ホストOSからゲストOSにSSHでアクセスする

VMware PlayerにインストールしたUbuntuにopensshサーバーの設定を行い、ホストOSからSSHで接続してリモート操作を行えるようにするための設定方法。

以下の環境で設定を行いました。
ホストOS : windows7
ゲストOS : ubuntu11.10
SSHターミナルソフト : TeraTarm

opensshのインストール (Ubuntuでの作業)

端末を起動して以下のコマンドを実行します。

$sudo apt-get update
$sudo apt-get install openssh-server

続いてSSHのモジュールもインストールします。

$sudo apt-get install ssh

opensshのコンフィグファイルの設定 (Ubuntuでの作業)

以下のコマンドでコンフィグファイルを開いて設定の変更をします。

$ sudo nano /etc/ssh/sshd_config

最初の接続方法としてID、PASSWORDの入力方式とするため以下の様に修正します。
PasswordAuthenticationはパスワード認証を許可するかどうかの設定。

#PasswordAuthentication yes (コメントを解除する)
↓
PasswordAuthentication yes

configの設定を変更した後は内容を適用させる為、以下のコマンドを実行します。

$sudo invoke-rc.d ssh reload

TeraTermの設定 (Windowsでの作業)

TeraTermを起動すると以下のダイアログが表示されるので、ホストにUbuntuのIPを入力して、SSHバージョンをSSH2に設定して「OK」をクリック。
UbuntuIPアドレスの確認方法はUbuntuの端末に「ifconfig」と実行して、「inetアドレス」に記述されている数字です。

続いて以下のダイアログが表示するのでユーザー名とパスフレーズをそれぞれ入力して、「プレインテキストを使う」にチェックをして「OK」をクリック。

以下の様に接続されていれば成功です。

これでクライアント(Windows)からUbuntuのサーバーに接続してリモート操作が出来る環境にはなりましたが、パスワードの認証だけではセキュリティ的にもあまりよろしくないので、公開鍵認証で接続する環境を設定します。
公開鍵認証とは何かというと、クライアントで秘密鍵と公開鍵を生成し、公開鍵の方をサーバーに登録することで、クライアントの秘密鍵とサーバーの公開鍵で照合を行い接続を認証するシステムです。

公開鍵と秘密鍵の作成 (Windowsでの作業)

TeraTermのメニューから「設定」→「SSH鍵生成」をクリック。

基本的にはデフォルトでチェックが入っている「RSA」を選択し、「生成」をクリックします。「公開鍵の保存」と「秘密鍵の保存」ボタンがアクティブになるので任意の場所に保存します。

「id_rsa」と「id_rsa.pub」の二つのファイルが出来ます。
「id_rsa」は秘密鍵なのでそのままクライアント側に保存。
「id_rsa.pub」は公開鍵で、こっちをサーバに登録します。

opensshに公開鍵を設定 (Ubuntuでの作業)

先程クライアント側で生成した公開鍵をUbuntuホームフォルダに転送します。
続いて以下のコマンドを実行します。

$sudo mkdir .ssh(.ssh/ディレクトリがまだ作成されていない場合はこのコマンドを実行して作成します。)
$sudo cat id_rsa.pub>>.ssh/authorized_keys

これで公開鍵を「.sshディレクトリ内の「authorized_keys」ファイルに追記しています。

opensshのコンフィグファイルの設定(Ubuntuでの作業)

以下のコマンドでコンフィグファイルを開き設定を変更します。

$sudo nano /etc/ssh/sshd_config

以下の様に設定の変更を行います。

PermitRootLogin no (root ログイン許可)
ChallengeResponseAuthentication no (チャレンジ・レスポンス認証)
PasswordAuthentication no (パスワード認証)
UsePAM no (PAM の使用)

コンフィグの設定をしたら内容を適用させます。

$sudo invoke-rc.d ssh reload

そして再起動をしておく。

$ sudo /etc/init.d/ssh restart 

TeraTarmから鍵認証でアクセスする (Windowsでの作業)

まずは先程のPassword方式ではアクセスできないようになっているか確認します。

設定が反映されてPassword方式ではアクセスできないようになっています。

次に鍵認証でアクセスできるか確認します。
先程の画面から「ユーザー名」、「パスフレーズ」を入力して「RSA/DSA鍵を使う」にチェックを入れて、「秘密鍵」ボタンをクリックしてください。
ダイアログから秘密鍵「id_rsa」を選択して「OK」をクリック。
問題がなければこれで無事にアクセスできるようになっています。