Let’s try a clean start
You need to do this as root, so take care !
# become root.
su
# write the image to the cm4. Doublecheck the target device since all data will be lost!
arm-image-installer --image=/path/to/Fedora-IoT-33-20201215.0.aarch64.raw.xz --media=/dev/sdx --resizefs
# We need a place to mount the device.
mkdir /mnt/tmp
# Mount the efi partition.
mount /dev/sdx1 /mnt/tmp/
# Force hdmi while headless.
echo "hdmi_force_hotplug=1" >> /mnt/tmp/config.txt
umount /mnt/tmp/
# Mount the root partition.
mount /dev/sdx3 /mnt/tmp/
# Relabel on restart.
touch /mnt/tmp/.autorelabel
# Add public key.
mkdir -m 700 /mnt/tmp/root/.ssh/
cat /path/to/iot.pub > /mnt/tmp/root/.ssh/authorized_keys
chmod 600 /mnt/tmp/root/.ssh/authorized_keys
# Cleanup
umount /mnt/tmp/
rm -fr /mnt/tmp/
exit
If it doesn’t work at least you have a clean base to start diggin’
Edit:
To access via ssh use:
ssh -i /path/to/iot.key root@ip.or.fqdn.iot