要約:SSHサーバとVirtualBoxのポートフォワーディングを有効化し、ホストのSSHクライアントから接続できればOK。先月のCentOS 6.6では最初からSSHサーバが動いていたので、違う点を中心にメモ。
実行環境(一昨日昨日と同じ)
• ホストOS … Windows7 32bit • ゲストOS … CentOS 7 64bit • ゲストOSの元 … OS Boxes - CentOS 7(VDIファイル)
• 仮想化ソフトウェア … Portable VirtualBox 4.3.6
Portable VirtualBoxについては一昨日・昨日書きました。CentOSが、自分で作った仮想マシンでなくOS Boxesというサイトにあったインストール済み仮想マシン。これが先月のCentOS 6.6と違い、最初からユーザやGUIが設定されている一方、デフォルトではSSHサーバが無効になってました。
ゲスト側:SSHサーバ設定
mabulog : Installed VirtualBox + CentOS7.0の「SSH自動起動設定」を参考にしました m(_)m まず下記コマンドでSSHサーバの状態を確認。
chkconfig sshd
service sshd status
SSHサーバを有効&自動起動にします。ルート権限が必要。
sudo chkconfig sshd on
chkconfig sshd # for confirmation

sudo service sshd start
service sshd status # for confirmation
ホスト側:VirtualBoxのポートフォワーディング設定
後はほぼ先月のCentOS 6.6と同じ。ホスト側に戻ってVirtualBoxの仮想マシン設定画面のネットワークを開き、ポートフォワーディングで「ホスト側のlocalhost : xxxx → ゲスト側のlocalhost : 22」の設定を追加。ホスト側のポート番号は、他とかぶらないように。 この設定は仮想マシン起動中にでき、直ちにポート転送が有効になりました。
ホスト側:SSHクライアントで接続テスト
SSHクライアントは好きなものを。自分はGit Portableのをコンソールで使っています。一昨日、PostgreSQL 9.5 Alpha 1をインストールした時にユーザpostgresが追加されたので、それで接続してみます。
[.../]ssh postgres@localhost -p [port]
[input password]
無事接続できました。次にsuコマンドでルート権限になれるかテストし ↓ なれたので、ついでに昨日設定したVirtualBoxの共有フォルダの所有グループvboxsfにユーザpostgresを追加。
su
[input password]
usermod -G vboxsf postgres
cat /etc/group | grep postgres
これを反映させるのに確か再起動が必要(いろいろ試してて忘れた…)。改めてホスト側SSHクライアントで接続し、ユーザpostgresとして共有フォルダ(実体はホスト側のRAMDisk)を読み書きできるかテスト。
ls /media
ls /media/sf_win_r/
cat /media/sf_win_r/test.txt
echo 1 > /media/sf_win_r/test_from_vm.txt
↓ 共有フォルダの中身。確かに仮想マシンから読み書きできました。
これでCentOSのGUIは当面不要に
以上の作業後、ホスト側SSHクライアントからyum updateも普通にできました(画像は省略)。で確認のためゲストをGUIで起動すると、Power Offメニューの下にInstall Updates & Restartというのが、何回再起動しても表示される変な状態。 何か気持ち悪いので、試しにSoftware Updateを起動。当然ながら全てアップデート済みというダイアログが出ましたが、これでPower Offメニュー下のInstall Updates & Restartが消えました。 これで当面CentOSのGUIは使わなそうなので、CUIで起動するように変えます。そのコマンドはクロの思考ノート : CentOS 7をCUIで起動する方法にありました m(_)m
su
[input password]
systemctl list-unit-files | grep gdm # for confirmation
systemctl disable gdm.service
先月のCentOS 6.6の記事で書いたとおり、VirtualBoxのGUIメニューでShiftを押しながら仮想マシンを起動するとウィンドウ非表示(Headless)になります。ウィンドウがあってもCUIだけなので、ホスト側SSHクライアントを使えば同じこと。 ウィンドウ非表示でも、VirtualBoxメニューのPreviewに小さくCUIの様子が表示され、正常に起動したか位は判別可能。しばらくすると、省電力機能?なのか真っ暗になるようです。↓