Compare commits
4 Commits
d5bad0b1cc
...
HOST_IP
Author | SHA1 | Date | |
---|---|---|---|
d8eba3b7be | |||
01e8e22c01
|
|||
a31bf233dc
|
|||
60fafed9cd
|
@@ -22,13 +22,12 @@
|
|||||||
|
|
||||||
# Root check
|
# Root check
|
||||||
if [ "$EUID" -ne 0 ]; then
|
if [ "$EUID" -ne 0 ]; then
|
||||||
echo "[ERROR]: Please run script as root"
|
echo "[ERROR]: Please run this script as root"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Clean environment
|
# Clean environment
|
||||||
unset PRIVATE_KEY
|
unset PRIVATE_KEY
|
||||||
unset HOST_IP
|
|
||||||
unset MATCH_PATTERN
|
unset MATCH_PATTERN
|
||||||
unset PKILL_ANSWER
|
unset PKILL_ANSWER
|
||||||
|
|
||||||
@@ -41,8 +40,8 @@ function ssh_connect {
|
|||||||
printf "[INFO]: Starting new vagrant SSH tunnel on PID "
|
printf "[INFO]: Starting new vagrant SSH tunnel on PID "
|
||||||
sudo -u "$USER" ssh -fNT -i "$PRIVATE_KEY" \
|
sudo -u "$USER" ssh -fNT -i "$PRIVATE_KEY" \
|
||||||
-L 22:localhost:22 \
|
-L 22:localhost:22 \
|
||||||
-L 80:localhost:80 \
|
-L 80:"$HOST_IP":80 \
|
||||||
-L 443:localhost:443 \
|
-L 443:"$HOST_IP":443 \
|
||||||
-L 8443:localhost:8443 \
|
-L 8443:localhost:8443 \
|
||||||
-o UserKnownHostsFile=/dev/null \
|
-o UserKnownHostsFile=/dev/null \
|
||||||
-o StrictHostKeyChecking=no \
|
-o StrictHostKeyChecking=no \
|
||||||
@@ -51,7 +50,7 @@ function ssh_connect {
|
|||||||
pgrep -f "$MATCH_PATTERN"
|
pgrep -f "$MATCH_PATTERN"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "[INFO]: Delined to start a new vagrant SSH tunnel"
|
echo "[INFO]: Declined to start a new vagrant SSH tunnel"
|
||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@@ -64,7 +63,7 @@ PRIVATE_KEY="$(find .vagrant -name "private_key" 2>/dev/null | sort)"
|
|||||||
if [ "$(echo "$PRIVATE_KEY" | wc -l)" -gt 1 ]; then
|
if [ "$(echo "$PRIVATE_KEY" | wc -l)" -gt 1 ]; then
|
||||||
while IFS= read -r KEYFILE; do
|
while IFS= read -r KEYFILE; do
|
||||||
if ! ssh-keygen -l -f "$KEYFILE" &>/dev/null; then
|
if ! ssh-keygen -l -f "$KEYFILE" &>/dev/null; then
|
||||||
echo "[ERROR]: The SSH key '$KEYFILE' is not valid. Is your virtual machines running?"
|
echo "[ERROR]: The SSH key '$KEYFILE' is not valid. Are your virtual machines running?"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
echo "[CHECK]: Valid key at $KEYFILE"
|
echo "[CHECK]: Valid key at $KEYFILE"
|
||||||
@@ -78,12 +77,17 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Grab first IP or use whatever HOST_IP_FIELD is set to and check that the guest is up
|
# Grab first IP or use whatever HOST_IP_FIELD is set to and check that the guest is up
|
||||||
HOST_IP="$(vagrant ssh -c "hostname -I | cut -d' ' -f${HOST_IP_FIELD:-1}" "${1:-default}" 2>/dev/null)"
|
|
||||||
if [ -z "$HOST_IP" ]; then
|
if [ -z "$HOST_IP" ]; then
|
||||||
|
HOST_IP="$(sudo -u "$SUDO_USER" vagrant ssh -c "hostname -I | cut -d' ' -f${HOST_IP_FIELD:-1}" "${1:-default}" 2>/dev/null)"
|
||||||
|
|
||||||
|
if [ -z "$HOST_IP" ]; then
|
||||||
echo "[ERROR]: Failed to find ${1:-default}'s IP"
|
echo "[ERROR]: Failed to find ${1:-default}'s IP"
|
||||||
exit 1
|
exit 1
|
||||||
|
fi
|
||||||
|
HOST_IP="${HOST_IP::-1}" # trim
|
||||||
|
else
|
||||||
|
echo "[INFO]: HOST_IP configured by the shell environment"
|
||||||
fi
|
fi
|
||||||
HOST_IP="${HOST_IP::-1}" # trim
|
|
||||||
|
|
||||||
if ! ping -c 1 "$HOST_IP" &>/dev/null; then
|
if ! ping -c 1 "$HOST_IP" &>/dev/null; then
|
||||||
echo "[ERROR]: Cannot ping the host IP '$HOST_IP'"
|
echo "[ERROR]: Cannot ping the host IP '$HOST_IP'"
|
||||||
|
Reference in New Issue
Block a user