STIGUI
V-277079CAT II — Medium severitySV-277079r1148689_rule

The macOS system must disable root login for SSH.

Rule version APPL-26-001100 · STIG v1 · 2026-09-01

Discussion

If SSH is enabled to ensure individual accountability and prevent unauthorized access, logging in as root via SSH must be disabled.

The macOS system MUST require individuals to be authenticated with an individual authenticator prior to using a group authenticator, and administrator users must never log in directly as root.

Note: /etc/ssh/sshd_config will be automatically modified to its original state following any update or major upgrade to the operating system.

Satisfies: SRG-OS-000109-GPOS-00056, SRG-OS-000364-GPOS-00151

Check

Verify the macOS system is configured to disable root login for SSH with the following command:

/usr/sbin/sshd -G | /usr/bin/awk '/permitrootlogin/{print $2}'

If the result is not "no", this is a finding.

Fix

Configure the macOS system to disable root login for SSH with the following command:

include_dir=$(/usr/bin/awk '/^Include/ {print $2}' /etc/ssh/sshd_config | /usr/bin/tr -d '*')

if [[ -z $include_dir ]]; then /usr/bin/sed -i.bk "1s/.*/Include \/etc\/ssh\/sshd_config.d\/\*/" /etc/ssh/sshd_config fi

/usr/bin/grep -qxF 'permitrootlogin no' "${include_dir}01-mscp-sshd.conf" 2>/dev/null || echo "permitrootlogin no" >> "${include_dir}01-mscp-sshd.conf"

for file in $(ls ${include_dir}); do if [[ "$file" == "100-macos.conf" ]]; then continue fi if [[ "$file" == "01-mscp-sshd.conf" ]]; then break fi /bin/mv ${include_dir}${file} ${include_dir}20-${file} done

Identifiers

Group ID
V-277079
Group title
SRG-OS-000109-GPOS-00056
Rule ID
SV-277079r1148689_rule
Check ID
C-81234r1148687_chk
Fix ID
F-81139r1148688_fix