You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS EC2 macOS Sonoma:服务账号替代ec2-user及系统加固方案咨询

问题1:服务账号SSH/VNC登录失败解决步骤

SSH登录配置

直接复制.pem文件到新账号无法登录,核心是权限配置和密钥格式问题,按以下步骤操作:

  1. 创建服务账号(按需添加管理员权限)
    sudo sysadminctl -addUser service-account -fullName "Service Account" -admin
    
  2. 切换到新用户并配置SSH目录权限
    su - service-account
    mkdir -p ~/.ssh
    chmod 700 ~/.ssh
    touch ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys
    
  3. 导入密钥到authorized_keys
    从本地.pem文件提取公钥并写入:
    ssh-keygen -y -f /path/to/your-key.pem >> ~/.ssh/authorized_keys
    
    或直接复制.pem对应的公钥内容(.pub文件)到authorized_keys中
  4. 确保目录/文件归属正确
    sudo chown -R service-account:staff ~/.ssh
    
  5. 配置sshd并重启服务
    编辑/etc/ssh/sshd_config,确保以下配置:
    PubkeyAuthentication yes
    PasswordAuthentication no
    PermitRootLogin no
    AllowUsers service-account  # 仅允许指定服务账号登录
    
    重启SSH服务:
    sudo launchctl stop com.openssh.sshd && sudo launchctl start com.openssh.sshd
    
  6. 测试登录
    ssh -i /path/to/your-key.pem service-account@<EC2实例公网IP>
    

VNC远程配置

要让服务账号使用VNC,需配置屏幕共享权限:

  1. 启用远程管理并添加服务账号
    sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -configure -allowAccessFor -specifiedUsers
    sudo kickstart -configure -access -on -users service-account -privs -all
    
  2. 设置VNC密码(可选,增强安全性)
    sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -configure -clientopts -setvnclegacy -vnclegacy yes
    sudo kickstart -configure -clientopts -setvncpw -vncpw <你的VNC密码>
    
  3. 重启远程管理服务
    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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 15:23:26