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

如何使OSX中sshd-keygen-wrapper防火墙允许规则重启后仍生效

解决macOS 10.13.3重启后sshd-keygen-wrapper防火墙规则被禁用的问题

我在使用High Sierra(10.13.3)的时候也碰到过一模一样的问题——每次重启后,防火墙里的sshd-keygen-wrapper就被自动禁用,得手动重新允许才能正常用SSH服务。折腾了几次后,找到了几个能让规则永久生效的办法,亲测有效:

方法一:用命令行添加永久防火墙规则

图形界面的防火墙设置有时候会被系统进程重置,用命令行添加的规则稳定性更高:

  1. 打开「终端」,先确认sshd-keygen-wrapper的路径(一般系统默认路径是/usr/libexec/sshd-keygen-wrapper,可以用下面的命令验证):
    which sshd-keygen-wrapper
    
  2. 用系统自带的防火墙工具添加并允许这个程序:
    sudo /usr/libexec/ApplicationFirewall/socketfilterfw --add /usr/libexec/sshd-keygen-wrapper
    sudo /usr/libexec/ApplicationFirewall/socketfilterfw --unblockapp /usr/libexec/sshd-keygen-wrapper
    
  3. 确保防火墙处于启用状态:
    sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on
    
  4. 最后,开启“自动允许已签名软件接收传入连接”,这样系统会信任官方签名的程序,避免规则被重置:
    sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setallowsigned on
    

方法二:通过系统偏好设置固化规则

如果更习惯图形界面操作,可以试试这个步骤:

  1. 打开「系统偏好设置」→「安全性与隐私」→「防火墙」→点击左下角锁图标解锁,输入管理员密码。
  2. 点击「防火墙选项」,勾选「自动允许已签名的软件接收传入连接」。
  3. 点击「+」按钮,在弹出的文件选择窗口中,按下Command+Shift+G,输入/usr/libexec/sshd-keygen-wrapper,选中后添加到列表里。
  4. 确保sshd-keygen-wrapper对应的复选框是勾选状态,然后点击「确定」。
  5. 重启防火墙服务生效:回到终端执行下面的命令:
    sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off
    sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on
    

方法三:排查第三方安全软件干扰

如果上面两个方法都没用,大概率是第三方杀毒、安全软件在篡改防火墙规则。比如某些杀毒软件会在重启后重置系统防火墙设置,建议暂时禁用这类软件,重启后测试sshd-keygen-wrapper的规则是否保持生效。

另外别忘了确认SSH服务本身是开启的:打开「系统偏好设置」→「共享」,勾选「远程登录」,或者用命令行开启:

sudo systemsetup -setremotelogin on

内容的提问来源于stack exchange,提问作者Yusuf N

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:44:51