analyze-script-collection/scripts/not_encrypted_ssh_keys.sh

11 lines
556 B
Bash

#!/bin/bash
# @see https://stackoverflow.com/questions/32408820/how-to-list-files-and-match-first-line-in-bash-script
# @see https://unix.stackexchange.com/questions/298590/using-find-non-recursively
# @see https://security.stackexchange.com/questions/129724/how-to-check-if-an-ssh-private-key-has-passphrase-or-not
find "$HOME/.ssh" -maxdepth 1 -type f -print0 | while IFS= read -r -d $'\0' file; do
if [[ $(head -n1 "$file") == "-----BEGIN OPENSSH PRIVATE KEY-----" ]]; then
echo "Test file: $file"
ssh-keygen -y -P "" -f "$file"
fi
done