VirtualBoxでホストからsshできるようにするまでをlogる
VirtualBoxでゲストのネットワークをブリッジにしてしまうと、もっと簡単なんだけど、職場で勝手にやるとヒトに迷惑なので、今回はnat/PortForwardで設定してみる。
前提条件
- ホストOS
- Windows XP SP3
- VirtualBox-3.2.6-63112-Win // FIXME
- ゲストOS
- ubuntu-ja-10.04-desktop
[ゲストOSで操作]openssh-serverのインストール
まずは、デフォでsshクライアントしか入ってないので、aptでサーバーをインストール。
sudo apt-get install openssh-server
[ホストOSで操作]VirtualBoxの設定
VirtualBoxは、VMWareと違って(?)configのためのCUIが準備されてる。
んで、コマンドでPortForwardの設定をしてやるのだ。
# 実際には、設定ファイルを編集しているだけなんだけど...
cd C:\Program Files\Oracle\VirtualBox VBoxManage setextradata "ubuntu-ja-10.04-desktop-i386" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/Protocol" TCP VBoxManage setextradata "ubuntu-ja-10.04-desktop-i386" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/GuestPort" 22 VBoxManage setextradata "ubuntu-ja-10.04-desktop-i386" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/HostPort" 2222
コマンドは、
VBoxManage setextradata [ゲスト名] [xpathっぽいカンジ] [設定値]
になるのだけど、[xpathっぽいカンジ]で指定するデバイスが実際のVMのデバイスと異なるとVM起動できなくなる。(後述)
このコマンドで、設定ファイルが更新されたことを確認しておこう。
そして、VMを起動...
アレ;
ネットワークの設定を確認すると...
デバイスの種類がpcnetじゃなくってIntel PRO/1000(デフォ)だったのだ。
[ホストOSで操作]VirtualBoxの設定(NG)のリカバリ
だもんで、メンドウだから設定ファイル編集しちゃおう。
いつも思うけど、unix文化(バイナリじゃなくってテキストファイルによるコンフィグ文化 + xml)様々...