방화벽 "수신 연결 수락"대화 상자를 제거하는 방법은 무엇입니까?


101

나는 이것을 방화벽이 이미 기억해야 할 정도로 여러 번 받아 들였다.

예를 들어, 디버깅 모드에서 Java 프로그램을 시작할 때 Eclipse에서 가져옵니다 ... 때로는이 대화 상자가 0.5 초와 같이 매우 짧게 표시되고 사라집니다. 방화벽 환경 설정 패널 (고급 설정)에 나열되어 있어도 iTunes (도서관 공유를 활성화 할 때) 및 기타 프로그램 용으로 가져옵니다.


어떤 OSX 버전을 사용하고 있습니까?
— Martin Marconcini

@ 마틴 : 스노우 레오파드 태그가 추가되었습니다. 나는 최신의 가장 큰 1.6.4를 사용합니다.
— Peter Štibraný

내 행동에는 그 행동이 매우 이상하다. 방화벽은 앱 서명을 확인하여 앱 서명을 인식하므로 앱을 변경하면 더 이상 인식되지 않아 새로운 프롬프트가 표시 될 수 있습니다. Leopard는 10.6보다이 경향이 더 높았지만 여전히 당신이 말하는 것에서 발생합니다.
— Martin Marconcini

Snow Leopard의 VirtualBox에서 항상 이것을 보았습니다. 나는 그것에 대한 설명을 듣고 싶습니다.
— Ben Wyatt

매우 성가신. Eclipse에서 작업하는 동안 하루에 두 번 팝업이 표시됩니다. 1 초 정도만 나타납니다. 이는 Eclipse Juno SR2를 사용하는 Mountain Lion에서 발생합니다.
— Gunnar

답변:


12

여기에는 두 가지 옵션이 있습니다.

  1. 방화벽에서 "모두 허용"을 선택하거나 간단히 끌 수 있습니다.
  2. 목록에서 앱을 제거하고 plist해당 앱 의 파일을 삭제 한 후 실행 한 다음 목록에 추가 할 수 있습니다. plist는 많은 행동을 담당하며 OS로 업그레이드하거나 응용 프로그램이 "링크"를 중단시킬 수 있습니다.

plist파일 정보 ... plist는 응용 프로그램 및 기타 리소스 (일반적으로 OS)가 응용 프로그램을 실행하는 데 필요한 정보를 유지하고 재사용하는 데 사용하는 속성이 포함 된 특수한 종류의 텍스트 파일입니다. plist파일 형식이며 일반적으로 사용자 기본 설정을 저장하는 용도가 많지만 기본적으로 XML 파일입니다. 당신은 전형적으로 모든 캐시,이 있는지 찾아보실 수 있습니다 plist파일이에 해당 응용 프로그램에 대한, /Library/Caches그리고 /System/Library/Caches. 거기에 하나가 ~/Library/Caches/있지만 거기에 몰려 다니면 나쁜 일이 발생할 수 있으므로 그냥 두십시오. 시스템은 다양한 이유로 해당 폴더에 들어가며, 일반적으로 한 달에 한 번 완전히 나열된 처음 두 폴더를 정리합니다.


"해당 앱의 plist 파일 삭제"의 의미를 설명해 주시겠습니까?
— Peter Štibraný

2
plist 파일은 무엇보다도 응용 프로그램 설정을 포함합니다 (삭제하는 것이 안전하지만 항상 대비하여 사본을 만드십시오). 모든 Cocoa 앱 은 파일이“사라질”경우 자체 plist를 다시 작성하도록 프로그래밍해야합니다. 앱의 plist는 일반적으로 / Users / your_user / Library / Preferences에 있습니다. 파일 확장자는 .plist로 끝나고 보통“com.company.appname.plist”와 같은 이름을 갖습니다. 예 : com.adobe.Phosothop.plist 그것들을 데스크탑으로 옮기고 응용 프로그램을 시작하여“재 작성”할 수 있습니다.
— Martin Marconcini

~위의 파일 경로에 있는 s가 현재 사용자의 홈 폴더 또는 루트 디렉토리를 참조하고 있습니까?

2
많은 경우에 이것이 실제로 옵션이 아니기 때문에 하향 조정됩니다. user465139의 의견이 더 적절합니다. 여전히 보안 위험이 있지만 모든 앱의 출입을 허용하는 것보다 적습니다.
— sholsinger

1
Mavericks + PHPStorm을 위해이 문제를 해결하기 위해 @sholsinger에 동의하고 자체 서명 대안은 쉽고 빠르며 작동합니다. 이 plist 사업은 다소 지저분합니다.
— Alex Weber

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을 사용하고 있습니다.
— ahall

2
아래 / 경로 해결해야하는 응용 프로그램 / / 응용 프로그램에 : 나는 하나 개의 작은 세부 사항을 개정하고자 한다 포함 .APP /path/to/exampleapp.app : 끝, 즉.

4
의 사용 @IconDaemon -후에는 --sign"임시 서명"이 사용되는 것을 의미한다; 해당 명령을 사용하기 위해 인증서가 필요하지 않습니다. 왜 이것이 터미널 사용과 모순되는지 이해하지 못합니다. man codesign설명을 보려면 실행 하십시오.
— Mike

3
간단하고 작동합니다. plist 파일을 삭제하고 싶지 않기 때문에 허용 된 답변보다 훨씬 낫습니다.
— 저스틴

2
sudo codesign --force --sign - /path/to/application.app나를 위해 일했지만 저자가 제안한 변형은 아닙니다. --deep슬래시가 앞뒤에 문제가 있는지 궁금합니다 .
— Jose Alban

61

RedYeti의 링크는 유용하지만 다른 사용자를 위해 몇 번의 클릭 만 저장하면 코드 서명 인증서를 생성하고 코드 (재) 서명에 사용하는 방법을 요약 할 수 있습니다.

  1. 자신의 코드 서명 인증서를 작성하십시오.

    • 키 체인 액세스에서 키 체인 액세스> 인증 지원> 인증서 작성. 그러면 인증 지원이 시작됩니다.

    • 이름 : 기억할 수있는 임의의 문자열을 여기에 입력하십시오. 그렇지 않으면 codesign명령 행에서 사용할 때 인증서 이름을 이스케이프해야합니다 .

    • 신원 유형 : 자체 서명 된 루트

    • 인증 유형 : 코드 서명

    • "기본값 무시"상자를 선택하십시오. 이것은 매우 중요합니다

    • 일련 번호 : 1 (인증서 이름 / 일련 번호 조합이 고유 한 경우 확인)

    • 유효 기간 : 3650 (10 년 제공)

    • 이메일, 이름 등 원하는대로 작성하십시오.

    • 키 페어 정보 : RSA, 2048 비트로 설정됩니다. 실제로 IMHO는 중요하지 않습니다.

    • "키 사용 확장자"에서 "제목 대체 이름 확장자"까지 : 기본값을 채택하십시오.

    • 위치 : 로그인 키 체인.

    • 일단 생성되면, 로그인 키 체인에서 "항상 신뢰"로 설정하십시오. 인증서를 마우스 오른쪽 단추로 클릭하고 "정보 입수"를 선택하고 "신뢰"섹션에서 "이 인증서를 사용할 때"를 "항상 신뢰"로 설정하십시오.

  2. 앱 재 서명 : codesign -f --deep -s <certname> /path/to/app

  3. 작동하는지 확인하십시오. codesign -dvvvv /path/to/app

즐겨!


4
감사합니다! 이것은 나를 위해 방화벽 nag 대화 상자를 제거한 유일한 솔루션입니다. OSX 10.10 Yosemite를 실행 중입니다.
— Jason

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
ahall의 답변이 해결책을 제공하지만이 답변은 이유를 설명합니다. 합치면 완벽한 답이 될 것입니다.
— not2savvy

3

가상 환경을 사용하는 경우 환경에 사용되는 앱에 서명해야합니다. 나는 이것이 명백하다는 것을 알고 있지만 그럼에도 불구하고 말할 필요가 있었다.


고마워하지만 앱 대신에 conda 환경에서 파이썬 버전 (python3.6)에 어떻게 서명합니까?
— Agile Bean

1

나는 이것이 오래된 Q & A라는 것에 감사하지만, 같은 문제가 있었을 때 구글에서 처음으로 나왔다. 여기에 도착할 수있는 다른 사람을 위해 무언가를 추가하고 싶었습니다.

여기에 설명 된 공동 디자인 명령을 실행하려면 xcode 명령 줄 도구가 설치되어 있어야합니다. 이것이 없으면 오류 메시지가 나타납니다.

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

이 문제를 해결하려면 다음 도구를 사용하십시오.

xcode-select install

나는 ahall의 게시물에 대해 언급했지만, 그렇게 할 평판은 없습니다.


0

컴퓨터를 시작한 후마다이 대화 상자 (Canon ccpd)가 나타납니다. 방화벽을 열고 보안 및 개인 정보 보호> 잠금을 해제하여 변경을 활성화 한 다음 "스텔스 모드 사용"버튼을 클릭하고 "모든 들어오는 연결 차단"버튼을 클릭하십시오.

그 후에 Canon 프린터 드라이버에서 더 이상 자극적 인 대화 상자가 없습니다.


그러나 응용 프로그램이 작동하지 않습니다 ...
— not2savvy

0

Mac 10.13에서 위의 모든 것을 시도했지만 아무것도 작동하지 않았습니다.

결국 나는 방화벽을 끄는 로그인 후크에 연결된 로그 아웃에서 실행 된 스크립트를 작성 했으므로 로그인 할 때 더 이상 권한이 필요하지 않은 다음 delayedlauncher를 사용하여 방화벽을 켜는 다른 스크립트를 실행했습니다.

이제 모두 좋아


다른 질문에 오신 것을 환영합니다! 다른 사용자도 솔루션을 통해 이익을 얻을 수 있도록 스크립트를 공유 할 수 있습니다.
— Glorfindel

0

내 상황은 MacOS Mojave 10.14.5에 설치된 두 개의 Eclipse 사본과 관련이 있습니다. 첫 번째 사본은 MacOS 방화벽으로 인증되었습니다. 두 번째 사본은 항상 "수신 연결 수락"프롬프트를 표시합니다. "Accept (허용)"를 선택하면 재부팅 할 때마다 메시지가 계속 표시되며 방화벽 설정이 업데이트되지 않은 것 같습니다.

해결책은 MacOS 시스템 환경 설정-> 보안 및 개인 정보-> 방화벽을 열고 화면의 방화벽 옵션을 잠금 해제하는 것입니다. Eclipse.app "수신 연결 허용"을 선택하고 "-"버튼으로 제거하십시오. 다음에 Eclipse에 "허용"을 선택한 경우 "수신 연결 수락"프롬프트가 마지막이었습니다.


-2

나를위한 해결책은 방화벽을 완전히 비활성화하는 것입니다. 웹 기반 소프트웨어는 기본적으로 컴파일하기 때문에 서명되지 않은 소프트웨어를 만드는 것이 매우 일반적입니다.

CMD + Spacebar로 스포트라이트를 열고 "프라이버시"를 검색하고 "보안 및 프라이버시"를 선택하십시오. 그런 다음 "방화벽"탭으로 전환하여 방화벽을 비활성화하십시오.


2
그들이하는 일을 알지 못하면 대부분의 사람들에게는 꽤 나쁜 해결책 인 것 같습니다. 방화벽은 Mac에서도 타당한 이유가 있습니다.
— RedYeti

난 당신이 "방화벽은 성가신-심지어 맥에서"의미라고 생각합니다. 모든 포트가 멀웨어 배포 사이트에서 다운로드 바이러스를 열어 놓은 공항의 개방형 Wi-Fi 네트워크에서 모든 사람이 교육을받는 것은 아닙니다. 내 대답은 올바르게 문제를 해결하고 애플의 바보 같은 팝업 상자를 해결합니다. 네트워크를 사용하는 바이너리를 다시 컴파일 할 때마다 절대로 변명 할 수없는 팝업이 나타납니다. 이 팝업은 애플이 교육을받지 않은 사람들을 키우면서 개발자들을 높고 건조하게 만드는 또 다른 성가신 방법이다.
— anon58192932

1
나는 모든 사람이 교육을받지 못했다는 것에 동의한다. 그러나이 주제에 관해 대다수의 사람들이 있습니다. 기본 네트워크 보안 구성 요소를 사용하는 것보다 잘 모르는 사람도 있습니다. 최소한 가능한 결과를 사람들에게 경고하는 것이 좋을 것입니다. 방화벽을 끄는 것만으로 "수정"으로 간주되지는 않지만 매우 해킹적인 해결책입니다.
— RedYeti
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.