AWS EC2 macOS Sonoma:服务账号替代ec2-user及系统加固方案咨询
问题1:服务账号SSH/VNC登录失败解决步骤
SSH登录配置
直接复制.pem文件到新账号无法登录,核心是权限配置和密钥格式问题,按以下步骤操作:
- 创建服务账号(按需添加管理员权限)
sudo sysadminctl -addUser service-account -fullName "Service Account" -admin - 切换到新用户并配置SSH目录权限
su - service-account mkdir -p ~/.ssh chmod 700 ~/.ssh touch ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys - 导入密钥到authorized_keys
从本地.pem文件提取公钥并写入:
或直接复制.pem对应的公钥内容(.pub文件)到authorized_keys中ssh-keygen -y -f /path/to/your-key.pem >> ~/.ssh/authorized_keys - 确保目录/文件归属正确
sudo chown -R service-account:staff ~/.ssh - 配置sshd并重启服务
编辑/etc/ssh/sshd_config,确保以下配置:
重启SSH服务:PubkeyAuthentication yes PasswordAuthentication no PermitRootLogin no AllowUsers service-account # 仅允许指定服务账号登录sudo launchctl stop com.openssh.sshd && sudo launchctl start com.openssh.sshd - 测试登录
ssh -i /path/to/your-key.pem service-account@<EC2实例公网IP>
VNC远程配置
要让服务账号使用VNC,需配置屏幕共享权限:
- 启用远程管理并添加服务账号
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -configure -allowAccessFor -specifiedUsers sudo kickstart -configure -access -on -users service-account -privs -all - 设置VNC密码(可选,增强安全性)
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -configure -clientopts -setvnclegacy -vnclegacy yes sudo kickstart -configure -clientopts -setvncpw -vncpw <你的VNC密码> - 重启远程管理服务
sudo kickstart -restart -agent
问题2:macOS Sonoma EC2系统简化加固流程
基于CIS基准提炼实用核心步骤,无需全部照搬繁杂文档:
账号权限加固
- 删除/禁用不必要的默认用户(如guest):
sudo sysadminctl -deleteUser guest - 配置密码复杂度策略:
sudo pwpolicy -setglobalpolicy "minChars=12 requiresAlpha=1 requiresDigit=1 requiresSymbol=1 passwordCannotBeName=1" - 限制sudo权限:用
visudo编辑/etc/sudoers,仅给必要用户分配sudo权限,避免ALL=(ALL) ALL的宽泛配置 - 启用自动锁屏(15分钟无操作后):
defaults write com.apple.screensaver idleTime 900 defaults write com.apple.screensaver askForPassword 1
网络安全加固
- 启用系统防火墙并阻止所有非必要传入连接:
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on sudo socketfilterfw --setblockall on # 允许SSH和VNC服务 sudo socketfilterfw --add /usr/sbin/sshd && sudo socketfilterfw --unblock /usr/sbin/sshd sudo socketfilterfw --add /System/Library/CoreServices/RemoteManagement/ARDAgent.app && sudo socketfilterfw --unblock /System/Library/CoreServices/RemoteManagement/ARDAgent.app - 禁用不必要的网络服务:
sudo launchctl disable system/com.apple.telnetd sudo launchctl disable system/com.apple.ftpd - 强化SSH配置(参考问题1中的sshd_config设置,额外添加):
MaxAuthTries 3 LoginGraceTime 30s X11Forwarding no
系统更新与补丁
- 启用自动安全更新:
defaults write com.apple.SoftwareUpdate AutomaticCheckEnabled -bool true defaults write com.apple.SoftwareUpdate AutomaticDownload -bool true defaults write com.apple.SoftwareUpdate CriticalUpdateInstall -bool true - 定期手动检查并安装所有更新:
softwareupdate -l sudo softwareupdate -i -a
日志与监控
- 配置SSH verbose日志(在sshd_config中设置):
LogLevel VERBOSE - 启用系统审计服务:
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.auditd.plist - 确保日志目录权限安全:
sudo chmod -R 640 /var/log/* sudo chown -R root:admin /var/log/*
内容的提问来源于stack exchange,提问作者New-to-MacOS-EC2
相关产品推荐
相关产品推荐

