Update vmcreate1.sh
This commit is contained in:
47
vmcreate1.sh
47
vmcreate1.sh
@@ -14,7 +14,6 @@ mkdir $path #REMOVE AFTER CORRECT PATH!!!!!!!!
|
||||
node=3
|
||||
size=50
|
||||
file="hosts"
|
||||
pubkey="pub.key"
|
||||
|
||||
show_help(){
|
||||
echo 'Usage:'
|
||||
@@ -94,7 +93,9 @@ mksnippet (){
|
||||
phash=$(cat $password | mkpasswd -m sha-256 -s)
|
||||
sed -i "s|.*password.*| - ${phash}|" "$snippet"
|
||||
fi
|
||||
sed -i "s|.*ssh-rsa.*| - (cat ${pubkey})|" "$snippet"
|
||||
if [[ -v $pubkey]]; then
|
||||
sed -i "s|.*ssh-rsa.*| - (cat ${pubkey})|" "$snippet"
|
||||
fi
|
||||
echo "Snippet $snippet created"
|
||||
}
|
||||
|
||||
@@ -198,19 +199,39 @@ if [[ $# -ne 0 ]]; then
|
||||
fi
|
||||
|
||||
# Проверяем ключ
|
||||
if [[ ! -e "$pubkey" ]]; then
|
||||
input=y
|
||||
echo "Public key does not exist. Generate new pair? y/n"
|
||||
read input
|
||||
case $input in
|
||||
y) read -p "Enter name for your PRIVATE key: " privkey && keypair_generate "$privkey";;
|
||||
Y) read -p "Enter name for your PRIVATE key: " privkey && keypair_generate "$privkey";;
|
||||
n) echo "Public key is necessary to continue. Please specify or generate new pair."; exit 6;;
|
||||
N) echo "Public key is necessary to continue. Please specify or generate new pair."; exit 6;;
|
||||
*) echo "Use '-h' flag for help"; exit 6;;
|
||||
esac
|
||||
if [[ -v $pubkey ]]; then
|
||||
if ! [[ -e "$pubkey" ]]; then
|
||||
input=y
|
||||
echo "You sbecified public key but it does not exist. Generate new pair? y/n"
|
||||
read input
|
||||
case $input in
|
||||
y) read -p "Enter name for your PRIVATE key: " privkey && keypair_generate "$privkey";;
|
||||
Y) read -p "Enter name for your PRIVATE key: " privkey && keypair_generate "$privkey";;
|
||||
n) echo "Public key is necessary to continue. Please use default, specify or generate new pair."; exit 6;;
|
||||
N) echo "Public key is necessary to continue. Please use default, specify or generate new pair."; exit 6;;
|
||||
*) echo "Use '-h' flag for help"; exit 6;;
|
||||
esac
|
||||
fi
|
||||
else
|
||||
read -p "Public key not specified. Use default? Enter to continue or Ctrl+C to abort"
|
||||
fi
|
||||
|
||||
# Проверяем, что нет ВМ в списке и нет сниппетов
|
||||
for line in $(cat hosts.tmp)
|
||||
do
|
||||
ip=$(echo -n "$line" | cut -d ',' -f 1)
|
||||
vmid=$(get_vmid "$ip")
|
||||
snippet=
|
||||
if [[ (qm status "$vmid") ]]; then
|
||||
echo "VM $vmid exists. Aborting"
|
||||
exit 9
|
||||
elif [[ -e "$snippet" ]]; then
|
||||
echo "Snippet $snippet exists. Aborting"
|
||||
exit 9
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
###DEBUG 1
|
||||
echo "DEBUG File hosts.tmp:"
|
||||
cat hosts.tmp; echo
|
||||
|
||||
Reference in New Issue
Block a user