fix ssh-key subcmd implementation

This commit is contained in:
do butterflies cry? 2026-01-20 14:30:32 +10:00
parent b108aa3942
commit a6ed57d6c5

View file

@ -100,8 +100,9 @@ if [[ -n "$COMMENT" ]]; then
EXTRA="$EXTRA -C '$COMMENT'" EXTRA="$EXTRA -C '$COMMENT'"
fi fi
# BUG: WARNING: $OUT permits arbitrary command injection
if [[ -n "$OUT" ]]; then if [[ -n "$OUT" ]]; then
EXTRA="$EXTRA -f '$OUT'" EXTRA="$EXTRA -f $OUT"
fi fi
if [[ "$NOPASSWD" == true ]]; then if [[ "$NOPASSWD" == true ]]; then
@ -109,13 +110,18 @@ if [[ "$NOPASSWD" == true ]]; then
fi fi
if [[ "$HWKEY" == true ]]; then if [[ "$HWKEY" == true ]]; then
if [[ "$TYPE" == "rsa" ]]; then
echo -e "${BOLD}${RED}-H|--hardware-key${RESET} flag is not valid for ${BOLD}${MAGENTA}rsa${RESET} keys ${BOLD}${CYAN}(use ed25519 instead)${RESET}"
exit 1
fi
TYPE="$TYPE-sk" TYPE="$TYPE-sk"
fi fi
# permit error during key generation # permit error during key generation
set +e set +e
ssh-keygen -t "$TYPE" -a "$ROUNDS" $EXTRA echo -e "${BOLD}${GREEN}[+] ssh-keygen -t $TYPE -a '$ROUNDS' $EXTRA${RESET}"
ssh-keygen -t $TYPE -a "$ROUNDS" $EXTRA
# reset state # reset state
set -e set -e
unset TYPE ROUNDS COMMENT OUT NOPASSWD EXTRA unset TYPE ROUNDS COMMENT OUT NOPASSWD HWKEY EXTRA