Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

はじめに

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接続は、パスワード認証で接続している
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした