Як позбутися від брандмауера діалогового вікна "прийняти вхідні з'єднання"?


101

Я приймав це стільки разів, що брандмауер вже повинен його пам’ятати.

Наприклад, я отримую це для Eclipse, коли запускаю програми java в режимі налагодження ... іноді це діалогове вікно відображається лише дуже коротко, як півсекунди, і зникає. Я також отримую його для iTunes (коли я вмикаю спільний доступ до своєї бібліотеки) та інших програм, навіть якщо я їх перелічено на панелі налаштувань брандмауера (налаштування adv.).


Яку версію OSX ви використовуєте?
Мартін Маркончіні

@Martin: додано сніго-леопардовий тег. Я використовую останні та найкращі 1.6.4.
Петро Штібрані

Моя поведінка дуже дивна. Брандмауер розглядає підпис програми, щоб його розпізнати, тому будь-яка зміна програми означає, що вона більше не може бути розпізнана і, таким чином, спричинить новий запит. Леопард був більш схильний до цього, ніж 10,6, проте все одно відбувається з того, що ти розповідаєш.
Мартін Марконніні

Раніше я це бачив весь час з VirtualBox на Snow Leopard. Я також хотів би почути його пояснення.
Ben Wyatt

Дуже дратує. Я бачу спливаюче вікно кілька разів на день, працюючи в Eclipse. Він відображається лише протягом другої секунди. Це відбувається на Mountain Lion з Eclipse Juno SR2.
Гуннар

Відповіді:


12

Тут є два варіанти:

  1. Ви можете просто вибрати "Дозволити всім" у брандмауері або просто вимкнути його.
  2. Ви можете видалити програми зі списку, видалити plistфайл для цих додатків, запустити їх, а потім додати їх до списку. Пліст відповідає за багато поведінки, і я готовий зробити ставку або на оновлення ОС, або на додаток може призвести до розриву "посилання".

Про plistфайли ... Пліст - це особливий вид текстового файлу, який містить властивості програми та інших ресурсів, як правило, ОС, які використовують для збереження та повторного використання інформації, необхідної для запуску програми. plist- це тип файлу і має безліч застосувань, як правило, зберігає налаштування користувачів, але, по суті, це XML-файл. Ви можете подивитися, чи є кеші, які зазвичай є plistфайлами, для відповідних програм у /Library/Cachesта /System/Library/Caches. Існує також одне, ~/Library/Caches/але погані речі можуть трапитися, коли ви забираєтесь там, тому просто залиште його в спокої. Система переходить у ці папки з найрізноманітніших причин, і я зазвичай очищую перші дві папки, які я перераховував повністю приблизно один раз на місяць.


Чи можете ви пояснити, що ви маєте на увазі під "видалити файл плістів для цих додатків"?
Петро Штібрані

2
файли plist містять налаштування додатків серед іншого (і їх можна безпечно видалити, але завжди робити копію на всякий випадок). Будь-яке додаток какао повинно бути запрограмоване для відновлення власного списку, якщо файл "зникне". Пліст для додатків зазвичай розташований у / Users / your_user / Library / Preferences. Файли закінчуються розширенням .plist і зазвичай мають такі імена, як: “com.company.appname.plist”, наприклад: com.adobe.Phosothop.plist. Ви можете перемістити їх на робочий стіл і запустити програму, щоб "відновити" її.
Мартін Маркончіні

Чи є ~s в шляхах файлів вище посилання на домашню папку поточного користувача або кореневий каталог?

2
Незважаючи на те, що це не є дійсно можливим варіантом у багатьох випадках. коментар user465139 є більш підходящим. Хоча це все-таки ризик для безпеки - це принаймні менше, ніж дозволяти всім програмам входити / виходити.
sholsinger

1
погодьтеся з @sholsinger щодо цього, просто натрапляючи на це для Mavericks + PHPStorm, і альтернатива самопідписання легко, швидко та працює. Цей пліс-бізнес начебто безладний.
Алекс Вебер

61
sudo codesign --force --deep --sign - /path/to/application.app

Мені ніколи не доводилося створювати сертифікат за допомогою цього методу.

Якщо це не допомагає, спробуйте без --deepі без косої риски:

sudo codesign --force --sign - /path/to/application.app

Зауважте, щоб зробити це зрозумілішим. Після того, як застосуєте підпис, запустіть програму, прийміть вхідні з'єднання останній раз, а потім вийдіть і почніть знову, щоб перевірити, що запит відсутній.


5
Я знаю, бо я це зробив? Я не впевнений, що саме ви просите ... використовуючи цей метод, я зміг позбутися спливаючого вікна "прийняти вхідні сповіщення" (хоча після підписання вам буде запропоновано останній раз, а потім більше не ). Для мене це працює для Spotify та AppCode. Якщо вам потрібна інформація, прочитайте чоловічу сторінку? редагувати: Я використовую Yosemite GM Candidate v3.0, якщо це допоможе вам.
ага

2
Я хотів би внести зміни до однієї невеликої деталі: додаток, на який потрібно звернутись у розділі / path / to / app, повинен містити закінчення .app , тобто: /path/to/exampleapp.app.

4
@IconDaemon Використання -після --signозначає, що використовується "спеціальне підписання"; для використання цієї команди не потрібно мати сертифікат. Я не розумію, чому це буде суперечити використанню терміналу. Біжіть, man codesignщоб побачити пояснення.
Майк

3
Просто, і працює. Набагато краще, ніж прийнята відповідь, оскільки я не хочу видаляти файли плистів.
Джастін

2
sudo codesign --force --sign - /path/to/application.appпрацював на мене, але не варіант, запропонований автором. Цікаво, --deepчи проблема була у провідній косої риски.
Хосе Альбан

61

Хоча посилання RedYeti є корисним, лише для збереження кількох клацань для інших, дозвольте мені скласти підказку, як створити сертифікат коду для підписання коду та використовувати його для підписання коду (повторного):

  1. Створіть свій власний сертифікат коду:

    • У програмі Access Keychain, Access Keychain> Assistant Certificate> Створіть сертифікат. При цьому запускається помічник сертифіката:

    • Назва: Введіть сюди якийсь довільний рядок, який ви можете запам'ятати. Уникайте пробілів, інакше вам потрібно буде уникати імені cert при використанні codesignз командного рядка.

    • Тип посвідчення особи: підписаний власним корінням

    • Тип сертифіката: Підпис коду

    • Поставте прапорець "Дозволити мені змінити значення за замовчуванням", це досить важливо

    • Серійний номер: 1 (гаразд, поки унікальне ім'я сертифікату / номер серії).

    • Термін дії: 3650 (дає 10 років)

    • Електронний лист, ім’я та ін. Заповніть за бажанням.

    • Інформація про ключову пару: встановлено на RSA, 2048 біт. ІМХО насправді не має значення.

    • Від "Розширення використання ключа" до "Розширення альтернативного імені предмета": прийміть значення за замовчуванням.

    • Розташування: брелок для входу.

    • Після його створення встановіть на "Завжди довіряти" в брелок "Вхід": клацніть правою кнопкою миші на сертифікаті, виберіть "Отримати інформацію", а в розділі "Довіра" встановіть "При використанні цього сертифіката" на "Завжди довіряйте".

  2. Повторне підписання програми: codesign -f --deep -s <certname> /path/to/app

  3. Перевірте, чи спрацювало це: codesign -dvvvv /path/to/app

Насолоджуйтесь!


4
Дякую! Це єдине рішення, яке позбулося діалогових вікон діагностування брандмауера. Я працюю OSX 10.10 Yosemite.
Джейсон

1
дуже хороша! легко для розробників, які вже мають сертифікат!
cwd

1
бічна примітка: я максимально збільшив термін дії до 7300 (днів), тобто 20 років. З деякими спробами я виявив, що це максимальне число, яке приймає поле введення (принаймні на OSX Yosemite 10.10.3) - дуже добре, кудо!
DavAlPi

відповідь Ahall набагато простіша і працювала для мене на OS X 10.10
n1000

Не працював для мене на OS X 10.11.1 (15B42)
suzanshakya

15

Це стосується того, додаток підписано чи ні. Якщо він не підписаний, налаштування не запам’ятається.

Щоб дізнатися, чи додано додаток, зробіть це в Терміналі:

cd path/to/your/app
codesign -vvv Eclipse.app/

Для Eclipse - мій каже, що він зовсім не підписаний. Я не можу далі коментувати, як підписати додаток, оскільки я не намагався це зробити, але ця відповідь на суперпользователя охоплює це:

https://superuser.com/questions/100013/why-does-the-mac-os-x-firewall-dialog-recurringly-pop-up-and-disappear-by-itself#300841


1
Хоча відповідь Ахалла дає рішення, ця відповідь пояснює, чому. Якби злилися, це була б ідеальна відповідь.
not2savvy

3

Лише примітка, якщо ви використовуєте віртуальне середовище, не забудьте підписати додаток, який використовується для оточення. Я знаю, що це очевидно, але все-таки потрібно сказати.


велике спасибі, але замість програми, як я можу підписати версію python (скажімо, python3.6) у середовищі conda?
Agile Bean

1

Я розумію, що це старі питання та відповіді, але це було першим моментом на Google, коли у мене була така ж проблема. Просто хотілося додати щось для інших, які можуть приземлитися тут.

Для того, щоб виконати будь-яку з команд кодування, описаних тут, необхідно встановити інструменти командного рядка xcode. Без них надходить повідомлення про помилку:

xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

Щоб виправити це, встановіть інструменти за допомогою:

xcode-select install

Я б прокоментував цю посаду, але не маю балів репутації.


0

Це діалогове вікно (Canon ccpd) я отримував щоразу після запуску комп'ютера. Відкрийте брандмауер> безпека та конфіденційність> розблокувати, щоб увімкнути зміни> натисніть кнопку "Увімкнути режим невидимості"> натисніть кнопку "Заблокувати всі вхідні з'єднання".

Після цього більше не дратується діалогове вікно від драйвера принтера Canon.


Але додаток не працюватиме ...
not2savvy

0

Я спробував усе вищесказане в Mac 10.13, і нічого не вийшло.

Врешті-решт я написав сценарій, який запускався під час виходу, прикріплений до гака для входу, який відключив брандмауер, тому при вході в нього більше не потрібен дозвіл, потім за допомогою відкладеного запуску запустив інший скрипт, який увімкнув брандмауер.

Все добре зараз


Ласкаво просимо до "Запитайте різних"! Ви можете поділитися своїм сценарієм, щоб і інші користувачі могли отримати прибуток від вашого рішення.
Глорфіндель

0

Моя ситуація стосується двох примірників Eclipse, встановлених на MacOS Mojave 10.14.5. Перша копія була авторизована за допомогою брандмауера MacOS. Друга копія завжди відображатиме запит "прийняти вхідні з'єднання". Вибір "Прийняти" продовжуватиме представляти повідомлення після кожного перезавантаження, очевидно, параметр брандмауера не був оновлений.

Рішення полягало в тому, щоб відкрити налаштування системи MacOS -> Безпека та конфіденційність -> Брандмауер, розблокувати екран, Параметри брандмауера. Виберіть Eclipse.app "Дозволити вхідні з'єднання" та видаліть його кнопкою "-". Наступного разу, коли я вибрав "Дозволити" на затемнення "Прийняти вхідні з'єднання", останній був запит.


-2

Для мене рішення було просто відключити брандмауер повністю. Надзвичайно часто створюється програмне забезпечення з підтримкою Інтернету, яке, звичайно, не підписується, оскільки ви їх компілюєте в оригінальній формі.

Відкрийте прожектор за допомогою CMD + Пробіл та знайдіть "конфіденційність" та виберіть "Безпека та конфіденційність". Потім перейдіть на вкладку «Брандмауер» і відключіть там брандмауер.


2
Для більшості людей це здається досить поганим рішенням, якщо вони не знають, що роблять. Брандмауери є з поважних причин - навіть на Macs.
RedYeti

Я думаю, ти мав на увазі "Брандмауери дратують - навіть на маках". Не всі неосвічені бігають по відкритих wifi-мережах в аеропортах, коли всі їх порти відкриваються, завантажуючи віруси з сайтів розповсюдження зловмисних програм. Моя відповідь правильно виправляє проблему і обходить навколо тупо дратуючих спливаючих ящиків Apple. Кожен раз, коли ви перекомпілюєте двійковий файл, який використовує мережу, ви отримуєте спливаюче вікно, що абсолютно недоцільно. Спливаюче вікно - лише черговий дратівливий спосіб Apple намагається виховувати неосвічених людей, залишаючи розробників високими і сухими.
anon58192932

1
Я згоден - не всі неосвічені. Однак на цю тему переважна більшість людей. Навіть ті, хто цього не має, повинні знати краще, ніж брати основний компонент мережевої безпеки. Принаймні, попередження людей про можливі наслідки було б добре. Просто вимкнення брандмауера я б не вважав "виправленням", а дуже хиткою обробкою.
RedYeti
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.