407 프록시 인증 필요


38

Ubuntu Software Center를 사용하여 소프트웨어를 설치하려고하면 다음과 같은 이점이 있습니다.

Failed to download repository information
Check Your Internet connection

내가하려고 할 때 apt-get install something, 나는 얻는다 :

407  Proxy Authentication Required

사용자 이름과 비밀번호가 필요한 프록시 서버를 사용합니다. 네트워크 프록시에 필요한 숫자를 연결하여 시스템 프록시를 수동으로 설정하고 시스템 전체에 적용했습니다. 문제가 이제 사용자 이름과 비밀번호를 연결하고 있다고 생각합니다.

Mozilla를 통해 인터넷을 사용할 때 특히 사용자 이름과 비밀번호를 묻습니다.

답변:


48

apt-get이 작동하려면 apt 구성 파일을 편집해야합니다.

sudo -H gedit /etc/apt/apt.conf

그리고 추가 Acquire::http::Proxy "http://username:password@proxyhost:port/";

위에 표시된 구문을 엄격하게 따라야합니다.

사용자 이름 또는 비밀번호에 '@'이 있으면이 구성이 실패 할 수 있습니다. FTP와 같은 다른 프로토콜에 대한 프록시 구성을 추가 할 수도 있습니다.

업데이트 : 사용자 이름 또는 비밀번호에 '@'이 있으면 % 40으로 바꿀 수 있습니다. 예 : 비밀번호를 @123다음과 같이 입력하십시오 %40123.

다른 문자는이 퍼센트 인코딩을 참조하십시오


4
나는 당신이 말한 것을 정확하게했지만 여전히 같은 오류가 발생합니다. 문제가 해결되지 않았습니다.
DeLiK

위의 프록시 설정을 추가했지만 407- 프록시 인증
Deepak

비밀번호에 "@"가 포함되어 있으면 어떻게됩니까?
Đēēpak

12

먼저 Linux 마법사 사용 옵션을 통해 프록시 설정을 수동으로 설정하고이 마법사 상자와 마찬가지로 시스템 전체에 설정을 적용하십시오.

프록시 환경을 추가하십시오. 다음은 설정 예입니다 ...
명령 프롬프트 로그인을 열고 apt.conf 파일을 편집하십시오.

sudo vi /etc/apt/apt.conf

Acquire 키워드로 시작하는 4 줄의 코드가 이미 있습니다. 다음 과 같이 편집하십시오.

Acquire::http::Proxy "http://username:password@proxyhost:port/";
Acquire::https::Proxy "https://username:password@proxyhost:port/";
Acquire::ftp::Proxy "ftp://username:password@proxyhost:port/";

참고
비밀번호에 @, $ ,!와 같은 특수 문자가 포함 된 경우 (예 : Password : P @ ssword) 다음과 같이 특수 문자를 16 진수 코드로 대체하여 다음과 같이 % 접두사로 바꿉니다.

Acquire::http::Proxy "http://username:p%40ssword@proxyhost:port/"; 

@ ==> % 40
$ ==> % 24
! ==> % 21


위의 프록시 설정을 추가했지만 407- 프록시 인증
Deepak

첫 번째 줄과 네 번째 줄의 차이점은 무엇입니까 ????
Moataz Elmasry

5

NTLM 인증을 실행하는 엔터프라이즈 프록시 뒤에있는 경우 CNTLM을 사용할 수 있습니다.

$ sudo apt-get install cntlm
$ sudo vi /etc/cntlm.conf

기본 설정 (도메인, 사용자 이름, 비밀번호 및 프록시)을 변경하십시오. 그런 다음 서비스를 다시 시작하십시오.

$ sudo /etc/init.d/cntlm restart

이제 localhost:3128Ubuntu의 시스템 전체 프록시로 (기본 CNTLM 포트)를 사용할 수 있습니다 .

http://cntlm.sourceforge.net/ 에서 문서를 확인 하십시오 .


6
위해서는 얻기 위해 sudo apt-get install cntlm당신에게 해당 프록시를 통과하는 최초의 필요성을 작동 할 수 있습니다.
Andrew Savinykh

2

이 튜토리얼이 도움이 될 것 같습니다.

네트워크 탭을 클릭하고 수동 프록시 구성 옵션을 선택하고 프록시 서버, 포트 세부 정보를 입력하십시오. 사용자 이름이 있으면 암호를 클릭하고 인증을 클릭하여 세부 정보를 입력하십시오.

( http://www.ubuntugeek.com/how-to-configure-ubuntu-desktop-to-use-your-proxy-server.html에서 )

쉘에서 시작된 모든 프로그램에 대해 그것을 호출하려면 모든 bash 세션이나 사용자 공간에 시스템 전체에 적용 하기 위해 /etc/bash.bashrc사용 gksudo gedit /etc/bash.bashrc에 추가하는 것이 좋습니다 ~/.bashrc.

Synaptic이 진행 Preferences되는 한, Network탭 아래에서 프록시에 대한 인증을 설정할 수있는 것 같습니다. 그러나 이것은 시냅틱에만 해당되는 것으로 보입니다.


나는 유 시냅스에 도달 나를 도울 수, 우분투 11 사용
user38507을

또한 정확히 bash.bashrc에서 사용자 이름과 비밀번호를 입력해야합니다
user38507

export http_proxy=http://username:password@proxyhost:port/
Panther

내가 명령을했다 sudo는 에코 "수출 HTTP_PROXY = SWASTIK : ramdayal@192.168.11.107 : 8081 ">> /etc/bash.bashrc 지금도 내가 같은 오류가 얻을
user38507

2

한 가지 좋은 대안은 시스템 독립적 프록시 설정을 지정 하고 사용자 이름과 비밀번호를 저장할 수있는 Synaptic Package Manager 를 사용 시냅틱 설치하는 것 입니다.

프록시 설정

그러나 Software Center의 프록시는 변경 되지 않습니다 .


2

사용자 이름이 공백으로 구분 된 경우 다음을 사용하십시오.

export http_proxy='http://Pankaj Kumar Pandit:ABCD@192.168.1.1:3128/'

사용자 이름이 공백으로 분리되지 않은 경우 다음을 사용하십시오.

export http_proxy=http://Pankaj_Kumar_Pandit:ABCD@192.168.1.1:3128/

차이점은 개방과 폐쇄의 추가입니다 '.


2

최신 버전의 Ubuntu에서는 시스템 설정> 네트워크> 네트워크 프록시를 사용할 수 있으며, 클릭 "apply system wide"하면 최소한 /etc/apt/sources.list파일을 포함하여 다른 위치에서 프록시 설정을 수정합니다 .

인증을 요구하는 메커니즘은 없습니다. 아무도 아직 그 부분을 만들지 않은 이유는 모르겠지만, 이로 인해 인증이 필요한 경우 비밀번호와 사용자 이름을 다음 형식으로 입력해야합니다.

username:password@proxy.address

암호 또는 사용자 이름을 포함하여 거기에 특수 문자가있는 경우, @또는 #또는 !또는 무엇이든, 당신은 아마 그 특수 문자의에 대한 HTML화된 문자 코드를 사용하도록해야 할 것입니다. 가능한 방법은이 페이지를 참조하십시오. http://www.obkb.com/dcljr/charstxt.html


1

나는 또한 같은 문제에 직면했다. 그런 다음 CNTLM에 대해 알게되었습니다. 이제는 정말 잘 작동합니다. 여기에서 CNTLM을 구성하는 방법을 참조하십시오.


2
이것이 이론적으로 질문에 대답 할 수 있지만 여기에 답의 핵심 부분을 포함시키고 참조 할 수있는 링크를 제공하는 것이 바람직 합니다.
Oyibo

감사합니다! 이것이 실제로 도움이 된 유일한 대답이었습니다. 다른 답변 (이미 알고 있음)은 프록시가 기본 HTTP 인증을 사용하고 있다고 가정하고 있습니다.
Alexander Amelkin

1

우분투에서 프록시 설정을 설정하기 위해 파이썬 스크립트를 만들었습니다.

다음 설정을 가정하면 관련 장소에서 교체해야합니다.

  • proxy_address 172.16.26.214
  • proxy_port 3128
  • proxy_username 왕
  • proxy_password 여왕

모든 단계를 안내하는 비디오를 만들었습니다.

https://www.youtube.com/watch?v=eBtzKa-dvJg

단계는 다음과 같습니다.

  • 먼저 대시를 클릭하십시오
  • 검색 창에 "프록시"를 입력하십시오 (따옴표없이).
  • 응용 프로그램에서 "네트워크"를 클릭하십시오
  • "네트워크 프록시"를 선택하십시오
  • 수동 선택
  • 프록시 주소와 프록시 포트를 입력하십시오
  • 대다. 확인을 위해 시스템 암호를 입력하십시오

스크립트를 다운로드 setproxy.py

https://pastebin.com/MbBHta8g

의 당신이를 저장 한 가정 해 봅시다 setproxy.pyDownloads폴더

  • 열린 터미널 유형
  • CD ~ / 다운로드

일반 명령 :
sudo python setproxy.py proxy_address proxy_port proxy_username proxy_password
예제의 경우

  • sudo python setproxy.py 172.16.26.214 3128 king queen

단순한 프록시의 경우 인증이없는 명령은 다음과 같습니다.

  • sudo python setproxy.py 172.16.26.214 3128

python 3사용하여 실행 한 경우 python2.7 명령은 다음과 같습니다.

  • sudo python2.7 setproxy.py 172.16.26.214 3128
  • sudo python2.7 setproxy.py 172.16.26.214 3128 king queen

1
스크립트 저장을 위해 dropbox 또는 copy를 사용하는 것은 매우 나쁩니다. 최소한 github 또는 paste.bin을 사용해야합니다.
Quan To

0

다음 명령을 시도 할 수도 있습니다.

http 연결-내보내기 :

http_proxy="http://username:password@proxy_server_address:port_no"

https 연결-내보내기 :

https_proxy="https://username:password@proxy_server_address:port_no"

ftp 및 기타 연결에서도 마찬가지입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.