一昨日に続き、Portable VirtualBox+CentOS 6.6の使い方の一例。下記で、VirtualBoxには仮想マシンを「ウィンドウなし」で起動する機能があると知りました。CentOSのターミナルより、ホストのWindowsでコンソール環境を工夫して接続する方が便利なので(コピベ、タブ化など。6月7日の記事参照)、仮想マシンのウィンドウはほとんど使っていません。それなら、始めからウィンドウなしで起動できるこれが便利。 » VirtualBox Mania : VBoxHeadless(ウィンドウ非表示起動)
とは言え、仮想マシンのインストール~ホスト側から接続するまではウィンドウが必要。今回、CentOS 6.6 Minimalを例に、最短でウィンドウ非表示モードで使えるまでをメモしておきます。実行環境はWindows 7 32bit + Portable VirtualBox 4.3.6。
CentOS 6.6 Minimal インストール
CentOS-6.6-x86_64-minimal.isoを、こちらから適当なミラーサイトを選んでダウンロード。次にVirtualBox上で新規仮想マシンを作り、ISOをマウントしてインストールします。このへんは一般的な手順と同じなので詳細は省略。なおインストーラ起動直後のmedia test(二つ目の画像)でOKを押すとなぜかテストを抜けられないので、自分はいつもスキップしています。抜け方があるかもしれませんが。 上の画面になればインストール完了。Rebootを押して再起動するとターミナルが立ち上がります。
CentOS ターミナルとVirtualBoxでの設定作業
CentOS 6.6 Minimalは、最初からSSHサーバが起動して外部からの接続を待ち受けます。今回はテストなのでユーザ追加やROOTでのSSH接続の無効化などは省略。あとはネットワークを起動と同時に有効化すればよく、具体的には下のとおり。
vi /etc/sysconfig/network-scripts/ifcfg-eth0

① iを押してINSERTモードに入り、ONBOOT=noの行を ONBOOT=yesに変更
② ESCを押してINSERTモードを抜け、:wqおよびリターンを打鍵して保存終了

shutdown 0 -P(いったん仮想マシンを閉じる)
次に、仮想マシンのネットワーク設定をNAT+ポートフォワーディングにして、ホスト側のlocalhost:22への接続要求が仮想側のlocalhost:22に転送されるようにします(必要があればポート番号を適宜変える)。仮想マシンの設定画面 → Network → Advancedをクリック → 一番下のボタン、でポートフォワーディング設定画面が開くので、好きな名前で設定。Host IP、Guest IPはlocalhostなら空でいいようです。
以上で設定は終わり。VirtualBoxのトップ(仮想マシン管理画面)で、シフトを押しながらStartボタンをクリック、またはシフトを押しながら仮想マシンのアイコンをダブルクリックして、ウィンドウ非表示モードで起動。ウィンドウの様子は小さいながらプレビュー画面に出るので、ターミナルが正常に起動したかどうか分かります。
ホストOSからSSHサーバに接続
WindowsでのSSHクライアントは、自分はGit Portableにあるのをそのまま使っていますが、下記などを参考にして自由に選んで下さい。その下は、Git Portableにあるssh.exeをConEmuで起動する設定例(関連:6月7日の記事)。実行ファイルの場所をカレントディレクトリにして、引数にユーザ名や接続先などオプションを加えます。 » 全自動ねじまき機 : 2014年1月 Windowsのsshのクライアントの紹介とか雑感
↓ ConEmuでSSHクライアントを起動した所。初回はまだホスト側に鍵がないので確認があり、yesで進みパスワードが通れば、タブ化したコンソールの中でCentOSターミナルと同じ作業ができます。 ↓ 試しにyum updateしてみたら、普通にインターネットにつながりました。 ↓ startxコマンドを打ったら、いろいろエラーが出つつもデスクトップが起動。Ctrl+Cで終了してコンソールに戻りました。ウィンドウがないから意味ありませんが。ともかく、仮想CentOSのターミナル操作をWindowsのコンソールから便利に実行できるようになりました。