Настроить брандмауэр OSX, чтобы разрешить SSH сервер?

10

Если я включаю свой брандмауэр OSX, ssh запрещен. Если я выключу, ssh может подключиться просто отлично. Это настройки хоста ssh : хотя я не знаю, что я делаю, я решил, что предоставления /usr/sbin/sshd«Разрешить входящие подключения» (наряду с «Удаленным входом в систему (SSH)») будет достаточно, но это не так. Что еще я должен включить для ssh (sshd? Not sure), чтобы разрешить соединения?

Экран настройки брандмауэра в OSX

Я настраиваю ssh исключительно через меню общего доступа «Удаленный вход в систему» ​​в Системных настройках.

Дэн Розенстарк
источник
Как указано здесь ( Discussion.apple.com/thread.jspa?threadID=2174585 ), удаление sshd-keygen-wrapper, перезагрузка и отказ от ssh-keygen-wrapper (хотя для него уже установлено значение yes), похоже, работает.
Дэн Розенстарк

Ответы:

9

Я тоже это видел - похоже, что OSX Application Firewall запутывается. Мне удалось начать, сделав следующее:

sudo rm /Library/Preferences/com.apple.alf.plist

Затем перезагрузите компьютер.

После того, как устройство снова включится, перейдя в «Брандмауэр»> «Дополнительные настройки», вы увидите только те системные службы, которые вы включили (в вашем случае SSH и Screen Sharing). Остальные записи исчезнут, но когда вы запустите все приложения, которым нужен доступ через брандмауэр, OSX попросит вас разрешить приложение или нет, а затем будет добавлен обратно в список исключений брандмауэра (если вы разрешите его входящий соединения).

Пирз
источник
Я обнаружил, что если вы запустите «sudo ipfw -f flush», а затем закроете и снова откроете Системные настройки, вы сможете избежать перезагрузки.
Марк Э. Хааз
7

Команды ниже работали для меня на Йосемити

cd /usr/libexec/ApplicationFirewall
sudo ./socketfilterfw --setloggingmode on
sudo ./socketfilterfw --setloggingopt detail
sudo tail -f /var/log/appfirewall.log

Попробуйте подключиться к вашему Mac через SSH. Вы должны увидеть запрещенную запись, в моем случае 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

Затем просто добавьте / usr / libexec / sshd-keygen-wrapper (как предложено mehaase) в список разрешенных приложений, но перезагрузка не требуется

Чтобы переключить уровень регистрации обратно

./socketfilterfw --setloggingopt throttled
Чад
источник
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 из командной строки).

Марк Э. Хаазе
источник
(Для OSX 10.11) перетаскивание /usr/libexec/sshd-keygen-wrapperиз средства поиска в диалоговое окно «Системные настройки»> «Безопасность и конфиденциальность» [Параметры брандмауэра] (параметры брандмауэра) исправило это для меня - после включения и выключения sshd в настройках диалогового окна общего доступа тоже.
Джиммонт
2

В El Capitan 10.11.5 sshd-keygen-wrapperбыл в списке разрешенных подключений, но был заблокирован. Нужно было только разрешить его, и удаленный вход по SSH работал. Перезагрузка не требуется.

CCryder66
источник
То же самое простое исправление для 10.11.6. Спасибо!
TomEE