Mac
Linux
VirtualBox
シェルスクリプト
centos7

自家製仮想マシン起動ツール

はじめに

macでVirtualBoxを使用して検証とかする場合、いちいちVirtualBox起動→仮想マシン起動→SSHで接続して作業する。
本記事は、スクリプトによりバックグラウンドから仮想マシンを起動し、簡単にSSH接続するための仮想マシン起動ツールです。

環境

mac + ターミナル + VirtualBox

スクリプト

(※)変数の"N"は、IPアドレスを意味する

#!/bin/bash

clear

#変数
DNS=192.168.N.N
WEB=192.168.N.N
MAIL=192.168.N.N
DB=192.168.N.N

#関数
submenu1(){
 clear
 echo " 1 DNSサーバ"
 echo " 2 Webサーバ"
 echo " 3 Mailサーバ"
 echo " 4 DBサーバ"
 echo -e "\n"
 echo "サーバを選択してください"
}

submenu2(){
 read servernum
 case ${servernum} in
  1) VBoxManage startvm "DNSサーバ" -type headless ;;
  2) VBoxManage startvm "Webサーバ" -type headless ;;
  3) VBoxManage startvm "Mailサーバ" -type headless ;;
  4) VBoxManage startvm "DBサーバ" -type headless ;;
 esac
}

submenu3(){ 
 read servernum
 case ${servernum} in
  1) ssh root@${DNS} ;;
  2) ssh root@${WEB} ;;
  3) ssh root@${MAIL} ;;
  4) ssh root@${DB} ;;
 esac
} 

submenu4(){
 read servernum
 case ${servernum} in
  1) ping ${DNS} ;;
  2) ping ${WEB} ;;
  3) ping ${MAIL} ;;
  4) ping ${DB} ;;
 esac
}

#処理
echo " 1 hostsを表示する"
echo " 2 サーバを起動する"
echo " 3 サーバに接続する"
echo " 4 疎通確認"
echo -e "\n"
echo "実行したい処理の番号を入力してください"

read inputkey

case ${inputkey} in
 1 ) cat /etc/hosts ;;
 2 ) submenu1;submenu2 ;;
 3 ) submenu1;submenu3 ;;
 4 ) submenu1;submenu4 ;;
esac

exit 0

  1. macからターミナルを起動し、スクリプトを実行する。
    ./server_conect.sh
  2. 仮想マシンを起動する場合、2を入力してreturnキーを押す。 スクリーンショット 2018-01-12 23.01.28.png
  3. ここでは例として2のWebサーバを起動するため、2を入力してreturnキーを押す。 (※)正常に起動できる場合、「VM "仮想マシン名" has been successfully started.」のようなメッセージが出力される スクリーンショット 2018-01-12 23.08.45.png
  4. 再度、スクリプトを実行する。
    ./server_conect.sh
  5. SSh接続するため、3を入力してreturnキーを押す。 スクリーンショット 2018-01-12 23.12.35.png
  6. 先ほど起動したWebサーバに接続するため、2を入力してreturnキーを押す。パスワード入力が求められるので、ログインユーザのパスワードを入力する。 スクリーンショット 2018-01-12 23.16.14.png (※)当スクリプトのSSH接続は、パスワード認証で接続している