LoginSignup
4
3

More than 5 years have passed since last update.

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

Last updated at Posted at 2018-01-12

はじめに

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接続は、パスワード認証で接続している
4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3