Run the following command and verify Access does not grant write or execute permissions to group or other for all returned files:
Run the following script to verify SSH public host key files are mode 0644 or more restrictive, owned by the root user, and owned by the root group:
#!/usr/bin/env bash{a_output=();a_output2=()l_pmask="0133";l_maxperm="$(printf'%o'$((0777&~$l_pmask)))"f_file_access_fix(){whileIFS=:read-rl_file_model_file_ownerl_file_group;doa_out2=()[$(($l_file_mode&$l_pmask))-gt0]&&\a_out2+=("Mode: \"$l_file_mode\" should be mode: \"$l_maxperm\" or more restrictive"\"updatingtomode:\"$l_maxperm\"") && chmod u-x,go-wx"$l_file"[ "$l_file_owner" != "root" ] && \a_out2+=("Ownedby:\"$l_file_owner\"shouldbeownedby\"root\"" \"Changing ownership to \"root\"")&&chownroot"$l_file"["$l_file_group"!="root"]&&\a_out2+=("Owned by group \"$l_file_group\" should be group owned by: \"root\""\"Changinggroupownershipto\"root\"") && chgrp root "$l_file"if [ "${#a_out2[@]}" -gt "0" ]; thena_output2+=("-File:\"$l_file\"" "${a_out2[@]}")elsea_output+=("-File:\"$l_file\"" \"Correct: mode: \"$l_file_mode\", owner: \"$l_file_owner\", and group owner: \"$l_file_group\" configured")fidone<<(stat-Lc'%#a:%U:%G'"$l_file")}whileIFS=read-r-d$'\0'l_file;doifssh-keygen-lf&>/dev/null"$l_file";thenfile"$l_file"|grep-Piq--'\bopenssh\h+([^#\n\r]+\h+)?public\h+key\b'&&f_file_access_fix
fidone<<(find-L/etc/ssh-xdev-typef-print02>/dev/null)if["${#a_output2[@]}"-le"0"];thenprintf'%s\n'""" - No access changes required"""elseprintf'%s\n'" - Remediation results:""${a_output2[@]}"""fi}