配置 OSX 防火墙以允许 SSH 服务器?

Dan*_*ark 10 security firewall openssh macos

如果我打开我的 OSX 防火墙,ssh 是不允许的。如果我关闭它,ssh 可以正常连接。这些是来自 ssh主机的设置:虽然我不知道自己在做什么,但我认为提供/usr/sbin/sshd“允许传入连接”(以及“远程登录 (SSH)”)就足够了,但事实并非如此。我还必须为 ssh(sshd?不确定)包含哪些内容以允许连接?

OSX 上的防火墙配置屏幕

我正在通过共享菜单“系统偏好设置”中的“远程登录”专门配置 ssh。

Pie*_*erz 9

我也见过这个 - OSX 应用程序防火墙似乎变得混乱了。我通过执行以下操作设法使我的工作顺利进行:

sudo rm /Library/Preferences/com.apple.alf.plist
Run Code Online (Sandbox Code Playgroud)

然后重启。

机器恢复后,当您转到防火墙 > 高级设置时,您应该只会看到已启用的系统服务(在您的情况下,SSH 和屏幕共享)。其余的条目将消失,但是当您启动任何需要通过防火墙访问的应用程序时,OSX 将要求您再次允许或不允许该应用程序,然后应将其添加回防火墙例外列表(如果您允许它传入)连接)。


小智 7

以下命令在优胜美地对我有用

cd /usr/libexec/ApplicationFirewall
sudo ./socketfilterfw --setloggingmode on
sudo ./socketfilterfw --setloggingopt detail
sudo tail -f /var/log/appfirewall.log
Run Code Online (Sandbox Code Playgroud)

尝试通过 SSH 连接到您的 Mac。你应该看到一个拒绝条目,在我的例子中是 sshd-keygen-wrapper

Oct 27 15:22:12 myhost socketfilterfw[4940] <Info>: Deny sshd-keygen-wrapper connecting from 192.168.0.2:49470 to port 22 proto=6
Run Code Online (Sandbox Code Playgroud)

然后只需将 /usr/libexec/sshd-keygen-wrapper(如 mehaase 建议的)添加到允许的应用程序列表中,但无需重新启动

切换回日志记录级别

./socketfilterfw --setloggingopt throttled
Run Code Online (Sandbox Code Playgroud)


Mar*_*ase 6

就我而言,我将 /usr/libexec/sshd-keygen-wrapper 添加到防火墙设置并重新启动。

我在这里找到了这个想法:https : //discussions.apple.com/thread/2174585?threadID=2174585

一种很好的故障排除技术:打开 Console.app 并查看 /var/log/appfirewall.log(或从命令行查看 tail -f /var/log/appfirewall.log)。