Diperlukan 407 Otentikasi Proksi

38

Ketika saya mencoba menginstal perangkat lunak menggunakan pusat Perangkat Lunak Ubuntu saya mendapatkan:

Failed to download repository information
Check Your Internet connection

Ketika saya mencoba melakukan apt-get install something, saya mendapatkan:

407  Proxy Authentication Required

Saya menggunakan server proxy yang memerlukan nama pengguna dan kata sandi. Saya telah menetapkan proxy sistem saya secara manual, dengan memasukkan angka-angka yang diperlukan dalam proxy Jaringan dan menerapkannya secara luas. Saya kira masalahnya sekarang adalah memasukkan nama pengguna dan kata sandi saya.

Ketika saya menggunakan INTERNET via Mozilla, ia secara khusus menanyakan nama pengguna dan kata sandi saya.

pengguna38507
sumber

Jawaban:

48

Agar apt-get Anda berfungsi, Anda harus mengedit file konfigurasi apt Anda:

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

Dan tambahkan Acquire::http::Proxy "http://username:password@proxyhost:port/";

Sintaks yang ditunjukkan di atas harus diikuti secara ketat.

Konfigurasi ini mungkin gagal jika nama pengguna atau kata sandi Anda memiliki '@' di dalamnya. Anda juga dapat menambahkan konfigurasi proxy untuk protokol lain seperti FTP.

Pembaruan: Jika nama pengguna atau kata sandi Anda memiliki '@', Anda dapat menggantinya dengan% 40 Contoh: Jika kata sandi Anda @123dimasukkan sebagai %40123.

Untuk karakter lain lihat Persen-penyandian ini

jaseem
sumber
4
Saya melakukan persis apa yang Anda katakan tetapi masih memberi saya kesalahan yang sama. Itu tidak menyelesaikan masalah.
DeLiK
Saya menambahkan pengaturan proxy di atas, tetapi sekarang saya mendapatkan 404- Tidak Ditemukan, sebagai pengganti 407- Proxy Authentication
Deepak
Bagaimana jika kata sandi saya mengandung "@"?
Đēēpak
12

Pertama-tama atur pengaturan proxy Anda melalui opsi penggunaan penyihir Linux secara manual dan terapkan pengaturan secara sistem seperti kotak penyihir ini.

Tambahkan lingkungan proxy Anda. Ini hanyalah contoh pengaturan ...
Buka login prompt perintah Anda dan edit file apt.conf:

sudo vi /etc/apt/apt.conf

Sudah ada 4 baris kode yang dimulai dengan Acquire key word, edit seperti ini:

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

Catatan
Jika Kata Sandi Anda mengandung karakter khusus seperti @, $ ,! (mis. Kata Sandi: P @ ssword) kemudian ganti karakter khusus dengan kode hex yang sama dengan% awalan seperti ini:

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

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

pengguna226173
sumber
Saya menambahkan pengaturan proxy di atas, tetapi sekarang saya mendapatkan 404- Tidak Ditemukan, sebagai pengganti 407- Proxy Authentication
Deepak
Apa perbedaan antara baris pertama dan keempat ????
Moataz Elmasry
5

Jika Anda berada di belakang proxy perusahaan yang menjalankan otentikasi NTLM, Anda bisa menggunakan CNTLM:

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

Ubah pengaturan default (domain, nama pengguna, kata sandi dan proksi). Kemudian mulai kembali layanan:

$ sudo /etc/init.d/cntlm restart

Anda sekarang dapat menggunakan localhost:3128(port CNTLM default) sebagai proksi seluruh sistem untuk Ubuntu.

Periksa http://cntlm.sourceforge.net/ untuk melihat dokumen.

theogfx
sumber
7
Untuk mulai sudo apt-get install cntlmbekerja, Anda harus terlebih dahulu melewati proxy itu.
Andrew Savinykh
2

Saya pikir tutorial ini akan membantu Anda.

Klik pada tab Jaringan pilih opsi Konfigurasi Proksi Manual dan masukkan server proxy Anda, detail port. Jika Anda memiliki nama pengguna, klik kata sandi pada Otentikasi untuk memasukkan detail ini klik ok

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

Untuk memintanya untuk semua program yang diluncurkan dalam sebuah shell, saya sarankan Anda menambahkannya ke /etc/bash.bashrcpenggunaan Anda gksudo gedit /etc/bash.bashrcuntuk menerapkannya di seluruh sistem untuk semua sesi bash atau ke ruang pengguna Anda ~/.bashrc.

Sejauh Synaptic pergi, di Preferencesbawah Networktab Anda tampaknya dapat mengatur otentikasi untuk proxy Anda. Ini tampaknya khusus untuk Synaptic.

bkzland
sumber
Saya menggunakan Ubuntu 11, dapatkah Anda membantu saya dalam mencapai sinaptik
user38507
juga di mana tepatnya di bash.bashrc pencuri tidak perlu memasukkan nama pengguna dan kata sandi
user38507
export http_proxy=http://username:password@proxyhost:port/
Panther
saya memberi perintah sudo echo "export http_proxy = swastik: [email protected]: 8081 " >> /etc/bash.bashrc bahkan sekarang saya mendapatkan kesalahan yang sama
user38507
2

Salah satu alternatif yang bagus adalah menggunakan Synaptic Package ManagerInstal Synaptic , di mana Anda dapat menentukan pengaturan proxy independen sistem dan juga menyimpan nama pengguna dan kata sandi.

Pengaturan proxy

Namun, ini tidak akan mengubah proxy untuk Pusat Perangkat Lunak.

menyalakan
sumber
2

Jika nama pengguna Anda dipisahkan oleh spasi maka gunakan:

export http_proxy='http://Pankaj Kumar Pandit:[email protected]:3128/'

Jika nama pengguna Anda tidak dipisahkan oleh ruang maka gunakan:

export http_proxy=http://Pankaj_Kumar_Pandit:[email protected]:3128/

Perbedaannya adalah penambahan pembukaan dan penutupan '.

PANKAJ KUMAR
sumber
2

Di versi terbaru Ubuntu, Anda dapat menggunakan Pengaturan Sistem> Jaringan> Proksi Jaringan, dan ketika Anda mengkliknya "apply system wide"memodifikasi pengaturan proxy di tempat yang berbeda, setidaknya termasuk /etc/apt/sources.listfile, NAMUN ...

Tidak memiliki mekanisme untuk meminta otentikasi. Tidak tahu mengapa belum ada yang membuat bagian itu, tetapi karena ini, jika Anda memerlukan otentikasi, Anda perlu memasukkan kata sandi dan nama pengguna di sana juga dalam format ini:

username:[email protected]

Jika kata sandi atau nama pengguna Anda memiliki karakter khusus di dalamnya, termasuk @atau #atau !apa pun, Anda mungkin harus menggunakan kode karakter yang di-HTML untuk karakter khusus tersebut. Lihat halaman ini untuk bagaimana Anda dapat melakukannya: http://www.obkb.com/dcljr/charstxt.html

Yfrwlf
sumber
1

Saya juga menghadapi masalah yang sama. Lalu saya jadi tahu tentang CNTLM. Sekarang ini bekerja dengan sangat baik. Lihat cara mengkonfigurasi CNTLM di sini.

irfan_np
sumber
2
Sementara ini secara teoritis dapat menjawab pertanyaan, akan lebih baik untuk memasukkan bagian-bagian penting dari jawaban di sini, dan menyediakan tautan untuk referensi.
Oyibo
Terima kasih! Inilah satu-satunya jawaban yang benar-benar membantu saya. Jawaban lain (yang sudah saya tahu) mengasumsikan proxy menggunakan otentikasi HTTP Dasar, yang bukan kasus saya.
Alexander Amelkin
1

Saya telah membuat skrip python untuk mengatur pengaturan proxy di Ubuntu

Asumsikan pengaturan berikut, Anda perlu mengganti di tempat-tempat yang relevan

  • proxy_address 172.16.26.214
  • proxy_port 3128
  • proxy_username raja
  • proxy_password ratu

Saya telah membuat video yang akan membawa Anda melalui semua langkah:

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

Langkah-langkah rinci di sini:

  • Klik pertama pada Dash
  • Dalam Kotak Pencarian, Masukkan "Proxy" (Tanpa Kutipan)
  • Klik "Jaringan" di bawah Aplikasi
  • Pilih "Proksi Jaringan"
  • Pilih Manual
  • Masukkan alamat proxy dan port proxy
  • Menerapkan. Masukkan kata sandi sistem Anda untuk mengonfirmasi

Unduh skripnya setproxy.py

https://pastebin.com/MbBHta8g

Katakanlah Anda telah menyimpannya setproxy.pydi Downloadsfolder

  • Buka Jenis terminal
  • cd ~ / Unduhan

Perintah Umum:
sudo python setproxy.py proxy_address proxy_port proxy_username proxy_password
Sebagai contoh kita

  • sudo python setproxy.py 172.16.26.214 3128 king queen

Dalam hal proxy sederhana Tanpa otentikasi, perintahnya adalah:

  • sudo python setproxy.py 172.16.26.214 3128

Jika Anda memiliki python 3dan menjalankan di atas menggunakan python2.7 sehingga perintah akan terlihat seperti

  • sudo python2.7 setproxy.py 172.16.26.214 3128
  • sudo python2.7 setproxy.py 172.16.26.214 3128 king queen
Mayank Agarwal
sumber
1
Menggunakan dropbox atau menyalin untuk menyimpan skrip sangat buruk. Anda harus menggunakan github, atau paste setidaknya .bin
Quan To
0

Anda juga dapat mencoba perintah berikut.

Untuk koneksi http - ekspor:

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

Untuk koneksi https - ekspor:

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

Dan juga untuk ftp dan koneksi lainnya.

darkdefender27
sumber