remove EXTRA variable
This commit is contained in:
parent
8004efa606
commit
4ae45d312a
1 changed files with 7 additions and 18 deletions
|
|
@ -37,7 +37,7 @@ ROUNDS='100'
|
||||||
BITS=''
|
BITS=''
|
||||||
COMMENT=''
|
COMMENT=''
|
||||||
OUT=''
|
OUT=''
|
||||||
NOPASSWD=false
|
NOPASSWD=''
|
||||||
HWKEY=false
|
HWKEY=false
|
||||||
# ==== Argument Values ====
|
# ==== Argument Values ====
|
||||||
|
|
||||||
|
|
@ -70,7 +70,7 @@ while [[ $# -gt 0 ]]; do
|
||||||
;;
|
;;
|
||||||
-N|--nopasswd)
|
-N|--nopasswd)
|
||||||
shift
|
shift
|
||||||
NOPASSWD=true
|
NOPASSWD="-N ''"
|
||||||
;;
|
;;
|
||||||
-H|--hardware-key)
|
-H|--hardware-key)
|
||||||
shift
|
shift
|
||||||
|
|
@ -85,7 +85,6 @@ while [[ $# -gt 0 ]]; do
|
||||||
esac
|
esac
|
||||||
done; unset -v ARG
|
done; unset -v ARG
|
||||||
|
|
||||||
EXTRA=''
|
|
||||||
# ensure $ROUNDS is a valid numeric
|
# ensure $ROUNDS is a valid numeric
|
||||||
if ! isnumeric "$ROUNDS"; then
|
if ! isnumeric "$ROUNDS"; then
|
||||||
throw-badval 1 "$ROUNDS" '-r|--rounds'
|
throw-badval 1 "$ROUNDS" '-r|--rounds'
|
||||||
|
|
@ -134,28 +133,18 @@ if [[ "$HWKEY" == true ]]; then
|
||||||
TYPE="$TYPE-sk"
|
TYPE="$TYPE-sk"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -n "$COMMENT" ]]; then
|
if [[ -z "$OUT" ]]; then
|
||||||
EXTRA="$EXTRA -C '$COMMENT'"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# BUG: WARNING: TODO: $OUT permits arbitrary command injection
|
|
||||||
if [[ -n "$OUT" ]]; then
|
|
||||||
EXTRA="$EXTRA -f $OUT"
|
|
||||||
else
|
|
||||||
# fallback to ssh-keygen's default file (for chmod later)
|
# fallback to ssh-keygen's default file (for chmod later)
|
||||||
OUT="~/.ssh/id_$TYPE"
|
OUT="~/.ssh/id_$TYPE"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$NOPASSWD" == true ]]; then
|
|
||||||
EXTRA="$EXTRA -N ''"
|
|
||||||
fi
|
|
||||||
# permit error during key generation
|
# permit error during key generation
|
||||||
set +e
|
set +e
|
||||||
echo -e "${BOLD}${GREEN}[+] ssh-keygen -t $TYPE -a '$ROUNDS' $EXTRA${RESET}"
|
echo -e "${BOLD}${GREEN}[+] ssh-keygen -t $TYPE -a$ROUNDS -b$BITS -C '$COMMENT' -f '$OUT' $NOPASSWD${RESET}"
|
||||||
ssh-keygen -t $TYPE -a "$ROUNDS" $EXTRA
|
ssh-keygen -t $TYPE -a "$ROUNDS" -b "$BITS" -C "$COMMENT" -f "$OUT" $NOPASSWD
|
||||||
chmod 600 $OUT
|
chmod 600 $OUT
|
||||||
chmod 644 $OUT.pub
|
chmod 644 $OUT.pub
|
||||||
|
|
||||||
# reset state
|
# reset state
|
||||||
set -e
|
set -e
|
||||||
unset TYPE ROUNDS COMMENT OUT NOPASSWD HWKEY EXTRA
|
|
||||||
|
unset TYPE ROUNDS BITS COMMENT OUT NOPASSWD HWKEY
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue