407 Proxy Kimlik Doğrulaması Gerekli


38

Ubuntu Software center'ı kullanarak bir yazılım yüklemeye çalıştığımda şunu alıyorum:

Failed to download repository information
Check Your Internet connection

Bir şey yapmaya çalıştığımda apt-get install something, anladım:

407  Proxy Authentication Required

Kullanıcı adı ve şifre gerektiren bir proxy sunucusu kullanıyorum. Sistem proxy'mi manuel olarak ayarladım, Ağlar proxy'sinde gereken numaraları girerek sistem genelinde uyguladım. Sanırım sorun şu anda kullanıcı adım ve şifremi giriyor.

İNTERNET'i Mozilla aracılığıyla kullandığımda, özellikle kullanıcı adımı ve şifremi soruyor.

Yanıtlar:


48

Apt-get'inizin çalışması için apt config dosyanızı düzenlemelisiniz:

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

Ve Ekle Acquire::http::Proxy "http://username:password@proxyhost:port/";

Yukarıda gösterilen sözdizimine kesinlikle uyulmalıdır.

Kullanıcı adınız veya şifrenizde '@' varsa, bu yapılandırma başarısız olabilir. FTP gibi diğer protokoller için proxy yapılandırması da ekleyebilirsiniz.

Güncelleme: Eğer kullanıcı adınız veya şifrenizde '@' varsa,% 40 ile değiştirebilirsiniz. Örnek: Eğer şifreniz olarak @123girilmişse %40123.

Diğer karakterler için bu Yüzde Kodlamaya bakın.


4
Ne dediğini yaptım ama yine de aynı hatayı veriyor. Sorunu çözmedi.
DeLiK,

Yukarıdaki proxy ayarlarını ekledim, ancak şimdi 407- Proxy Kimlik Doğrulaması yerine 404- Bulunamadı
Deepak

Şifremde "@" varsa ne olur?
Đēēpak

12

Öncelikle proxy ayarınızı Linux sihirbazı üzerinden manuel olarak kullanma seçeneğini ayarlayın ve bu sihirbaz kutusu gibi sistem genelinde ayarı uygulayın.

Proxy ortamınızı ekleyin. Bunlar sadece örnek ayarlardır ...
Komut istemi giriş bilgilerinizi açın ve apt.conf dosyasını düzenleyin:

sudo vi /etc/apt/apt.conf

Acquire key word ile başlayan 4 kod satırı zaten var :

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

Not
Parolanız @, $ ,! gibi özel karakterler içeriyorsa (örn. Parola: P @ ssword) özel karakterleri onlu kod eşdeğerleriyle değiştirerek şu şekilde% öneki:

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

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


Yukarıdaki proxy ayarlarını ekledim, ancak şimdi 407- Proxy Kimlik Doğrulaması yerine 404- Bulunamadı
Deepak

Birinci ve dördüncü satır arasındaki fark nedir ????
Moataz Elmasry

5

NTLM kimlik doğrulaması çalıştıran bir kuruluş vekilinin arkasındaysanız, CNTLM'yi kullanabilirsiniz:

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

Varsayılan ayarları değiştirin (etki alanı, kullanıcı adı, şifre ve proxy). Ardından hizmeti yeniden başlatın:

$ sudo /etc/init.d/cntlm restart

Artık localhost:3128Ubuntu için sistem genelinde proxy olarak (varsayılan CNTLM portu) kullanabilirsiniz .

Dokümanlar için http://cntlm.sourceforge.net/ adresini kontrol edin .


6
Amacıyla almak için sudo apt-get install cntlmsize o proxy üzerinden giden ilk ihtiyacını çalışmak.
Andrew Savinykh

2

Bence bu ders size yardımcı olmalı.

Ağ sekmesine tıklayarak Manüel Proxy Konfigürasyonu seçeneğini seçin ve proxy sunucunuzu, port detaylarını girin.

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

Bir kabukta başlatılan tüm programlar için onu çağırmak için, tüm bash oturumları için sistem genelinde uygulamak için /etc/bash.bashrckullanmanıza ya da kullanıcı alanınıza eklemenizi öneririm .gksudo gedit /etc/bash.bashrc~/.bashrc

Synaptic gittiği sürece Preferences, Networksekmenin altındaki proxy'leriniz için kimlik doğrulama ayarlayabiliyorsunuz. Bu olsa da, Synaptic'e özgü görünüyor.


Ubuntu 11 kullanıyorum, synaptic'e ulaşmama yardım eder misin?
user38507

Ayrıca tam olarak thh basb.bashrc adresinde kullanıcı adının ve şifrenin girilmesi gerekiyorsa
user38507

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

sudo echo komutunu verdim "export http_proxy = swastik: ramdayal@192.168.11.107: 8081 " >> /etc/bash.bashrc şimdi bile aynı hatayı alıyorum
user38507 20:11

2

Bir güzel bir alternatif kullanmaktır SynapticSynaptic'i yükleyin Belirtebileceğiniz, sistem bağımsız proxy ayarlarını ve ayrıca kullanıcı adı ve şifreyi saklayın.

Vekil sunucu Ayarları

Ancak, bu olmaz Yazılım Merkezi için vekil değiştirin.


2

Kullanıcı adınız boşlukla ayrılmışsa, şunları kullanın:

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

Kullanıcı adınız boşlukla ayrılmazsa, şunları kullanın:

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

Fark, açılış ve kapanış eklenmesidir '.


2

Ubuntu’nun en son sürümlerinde, Sistem Ayarları> Ağ> Ağ Proxy'sini kullanabilirsiniz ve tıklattığınızda "apply system wide"proxy ayarlarını farklı yerlerde, en azından /etc/apt/sources.listHOWEVER ...

Kimlik doğrulaması için herhangi bir mekanizma yoktur. Neden henüz hiç kimsenin bu kısmını yapmadığı hakkında hiçbir fikrim yok, ancak bu nedenle, kimlik doğrulaması gerekiyorsa, şifrenizi ve kullanıcı adınızı da bu formata koymanız gerekir:

username:password@proxy.address

Şifrenizi veya kullanıcı adı dahil olmak üzere herhangi bir özel karakterler varsa @veya #ya !ya da her türlü, muhtemelen bu özel karakterlerin tümü için HTML ized karakter kodu kullanmak zorunda olacak. Bunu yapabilmeniz için bu sayfaya bakın: http://www.obkb.com/dcljr/charstxt.html


1

Ben de aynı sorunla karşı karşıyaydım. Sonra CNTLM'yi tanımaya geldim. Şimdi gerçekten iyi çalışıyor. CNTLM'nin burada nasıl yapılandırıldığını görün.


2
Bu soruyu teorik olarak cevaplayabilse de , cevabın temel kısımlarını buraya eklemek ve referans için bağlantıyı sağlamak tercih edilir.
Oyibo,

Teşekkür ederim! Bu bana gerçekten yardımcı olan tek cevaptı. Diğer cevaplar (zaten biliyordum) proxy'nin benim durumum olmayan Temel HTTP kimlik doğrulaması kullandığını varsayıyor.
Alexander Amelkin

1

Ubuntu'da proxy ayarlarını yapmak için bir python betiği hazırladım.

Aşağıdaki ayarı kabul edin, alakalı yerlerde değiştirmeniz gerekir.

  • proxy_adresi 172.16.26.214
  • proxy_port 3128
  • proxy_username kral
  • proxy_password kraliçesi

Seni tüm adımlardan geçiren bir video yaptım:

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

Adımlar burada ayrıntılı:

  • İlk önce Dash’e tıklayın
  • Arama kutusuna "Proxy" girin (Tırnaklar Olmadan)
  • Uygulamalar altında "Ağ" üzerine tıklayın
  • "Ağ Proxy" seçeneğini seçin
  • Manuel Seç
  • Proxy adresini ve proxy portunu girin
  • Uygulamak. Onaylamak için sistem şifrenizi girin

Komut dosyasını indirin setproxy.py

https://pastebin.com/MbBHta8g

Diyelim ki kaydettiğiniz diyelim setproxy.pyiçinde Downloadsklasörün

  • Açık terminal tipi
  • cd ~ / İndirilenler

Genel Komut:
sudo python setproxy.py proxy_adresi proxy_port proxy_username proxy_password Örneğimiz
için

  • sudo python setproxy.py 172.16.26.214 3128 king queen

Basit proxy durumunda Doğrulama olmadan komut:

  • sudo python setproxy.py 172.16.26.214 3128

Eğer varsa python 3ve kaçak yukarıdaki kullanarak python2.7 komutları gibi görünecektir böylece

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

1
Komut dosyalarını depolamak için dropbox veya kopya kullanmak çok kötü. En azından github veya paste.bin'i kullanmalısınız
Quan To

0

Aşağıdaki komutları da deneyebilirsiniz.

Http bağlantısı için - dışa aktarma:

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

Https bağlantısı için - dışa aktarma:

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

Ve aynı şekilde ftp ve diğer bağlantılar için.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.