かめのはこ

とあるエンジニアのメモ帳です

VirtualboxでNAT設定のゲストにSSH接続して使う

会社の環境での話。
 
windowsでipも1個しかもらえないという制約の中、vmにubuntu環境は外せない。
単にlinux環境が欲しいだけなので、わざわざvmの窓はあけたくない。
 
というわけでこんな感じにセットアップしている。
 
・ネットワークはNAT
・vmはバックグラウンドで起動
・teratermでcui操作
 
■ネットワークはNAT
virtualboxは 設定>ネットワーク からNATを選択しとく
ゲストは停止状態でコマンド実行

> cd c:\Program Files\Oracle\VirtualBox
> VBoxManage setextradata ubuntu9.10 "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/Protocol" TCP
> VBoxManage setextradata ubuntu9.10 "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/GuestPort" 22 
> VBoxManage setextradata ubuntu9.10 "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/HostPort" 2222

※ubuntu9.10の部分は自分がつけたゲスト名称
※pcnetの部分は ネットワーク > 高度の部分で アダプタタイプにセットしたものを入れること
※pcnet/【数字】/LUN#0 の数字の部分は設定したLANアダプタの番号 −1
※2222は好きな空いてるポート番号
 
この状態でゲストを起動して
teratermから localhost:2222 でSSH接続できる
 
■バックグラウンド起動
コマンドラインから

> VBoxManage startvm "ubuntu9.10" -type vrdp

で起動する
 
こいつをvbsかなんかに書いてスタートアップいれとけば勝手に起動してて便利
停止も、power off じゃなくて savestateにしといた方が次回起動時がくそ早くてさらに便利
 
vboxmanage の -type vrdpじゃなくて vboxheadlessつかってもいいみたい
 
 
 
いろいろやってたけど
こっち使ったほうが便利かも
 
http://www.toptensoftware.com/VBoxHeadlessTray/
 
 
※参考
http://digitalbox.jp/happy-go-lucky-computing/windows/howto-run-guest-os-on-virtualbox-without-window/