fix ssh-keyscan.sh newlines printf
This commit is contained in:
parent
e18d15f7e7
commit
485a17ae6b
@ -8,15 +8,16 @@ if echo "$ip_address" | grep -vqE '^([0-9]{1,3}\.){3}[0-9]{1,3}$'; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
printf '['
|
printf '['
|
||||||
DELIMITER="\n"
|
DELIMITER=""
|
||||||
ssh-keyscan "$ip_address" 2>/dev/null | while read -r line; do
|
ssh-keyscan "$ip_address" 2>/dev/null | while read -r line; do
|
||||||
if echo "$line" | grep -qE "^$ip_address"' +(ssh|ecdsa)-[0-9A-Za-z+/_=@. -]+$'; then
|
if echo "$line" | grep -qE "^$ip_address"' +(ssh|ecdsa)-[0-9A-Za-z+/_=@. -]+$'; then
|
||||||
KEY_CONTENT="$(echo "$line" | awk '{ print $2 " " $3 }')"
|
KEY_CONTENT="$(echo "$line" | awk '{ print $2 " " $3 }')"
|
||||||
FINGERPRINT_OUTPUT="$(echo "$KEY_CONTENT" | ssh-keygen -l -E sha256 -f - | sed -E 's/^[0-9]+ SHA256:([0-9A-Za-z+/-]+) .+ \(([A-Z0-9]+)\)$/\1 \2/g')"
|
FINGERPRINT_OUTPUT="$(echo "$KEY_CONTENT" | ssh-keygen -l -E sha256 -f - | sed -E 's/^[0-9]+ SHA256:([0-9A-Za-z+/-]+) .+ \(([A-Z0-9]+)\)$/\1 \2/g')"
|
||||||
SHA256_HASH="$(echo "$FINGERPRINT_OUTPUT" | awk '{ print $1 }')"
|
SHA256_HASH="$(echo "$FINGERPRINT_OUTPUT" | awk '{ print $1 }')"
|
||||||
KEY_TYPE="$(echo "$FINGERPRINT_OUTPUT" | awk '{ print $2 }')"
|
KEY_TYPE="$(echo "$FINGERPRINT_OUTPUT" | awk '{ print $2 }')"
|
||||||
printf '%s{"key_type":"%s", "content":"%s", "sha256":"%s"}' "$DELIMITER" "$KEY_TYPE" "$KEY_CONTENT" "$SHA256_HASH"
|
printf '%s\n {"key_type":"%s", "content":"%s", "sha256":"%s"}' "$DELIMITER" "$KEY_TYPE" "$KEY_CONTENT" "$SHA256_HASH"
|
||||||
DELIMITER=",\n"
|
DELIMITER=","
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
printf '\n]\n'
|
printf '\n]\n'
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user