xuất HTTP_PROXY và các ký tự đặc biệt trong passwd


8

Giả sử vì mục đích tranh luận mật khẩu của tôi dưới đây là abc123@

Tôi cần xác thực máy linux của mình thông qua proxy công ty để nhận các bản vá và cập nhật ... thông thường tôi sẽ sử dụng điều này:

export HTTP_PROXY='http://<Americas\Username>:<Password>@proxy.foo.com'
export http_proxy='http://<Americas\Username>:<Password>@proxy.foo.com'

Tuy nhiên, khi tôi thay thế một mật khẩu thực sự kết thúc bằng @rồi chạy aptitude update, tôi nhận được ...

[mpenning@netwiki ~]$ sudo -E aptitude update
Err http://mirror.anl.gov squeeze Release.gpg
  Could not resolve '@proxy.foo.com'
Err http://mirror.anl.gov/debian/ squeeze/main Translation-en
  Could not resolve '@proxy.foo.com'

Tôi đã thử thoát mật khẩu bằng \@, thoát cả hai với \@\@, hai ký tự ( @@) và dường như không có gì có thể đưa mật khẩu này chính xác; Tôi chưa bao giờ gặp vấn đề gì cho đến khi tôi thay đổi mật khẩu gần đây.

Cách đúng để thoát mật khẩu của tôi là bashgì?

Câu trả lời:


16

Bạn có thể thử mã hóa URL mật khẩu của bạn. @nên được thay thế bởi %40.

Xử lý các ký tự đặc biệt trong Mật khẩu proxy trên Linux cho thấy điều này sẽ hoạt động, nhưng nhìn xung quanh những người khác dường như không làm cho nó hoạt động (và tôi không có cách nào để kiểm tra điều này).


Chỉ để tiết kiệm thời gian của bạn: meyerweb.com/eric/tools/dencoder . Cảm ơn vì tiền boa @Mat
Jean-Rémy Revy

1

Thậm chí đơn giản và đáng tin cậy hơn!

Cú pháp chung:

sudo {http,https,ftp}_proxy=http://<username>:<password>@<proxy_url/_proxyip>:<port>/ wget --timeout=5 --no-check-certificate http://<website_url>

Thí dụ:

[root@localhost ~]# sudo {http,https,ftp}_proxy=http://username:password-123@proxy.example.com:6050/ wget --timeout=5 --no-check-certificate http://google.com

{http, https, ftp} _proxy -> http, https, ftp url. Được phân chia bằng dấu phẩy.

--timeout = 5 -> Kết nối để duy trì sự sống sau vài giây.

-no-check-cert -> Bỏ qua Xác thực SSL / Chứng chỉ.

--spider -> Nếu bạn muốn kiểm tra kết nối mà không cần tải xuống tệp.

Ghi chú:

Chuyển đổi trực tuyến:

Thay thế các ký tự đặc biệt bằng unicode thập lục phân tương đương của nó. Để biết danh sách các unicodes, hãy tham khảo trang web https://unicode-table.com (hoặc) http://unicodelookup.com

Chuyển đổi cục bộ bằng Python:

Tham khảo: chuyển đổi mật khẩu "p @ s # w: E" sang unicode sẽ như sau,

@ = %40
$ = %24
# = %23
: = %3A
p@s#w:E = p%40s%23w%3AE

Đầu vào:

[root@localhost ~]# python -c "import sys, urllib as enc; print enc.quote_plus(sys.argv[1])" "p@s#w:E"

Đầu ra:

p%40s%23w%3AE

0

vui lòng sử dụng% 40 thay cho @ trong mật khẩu của bạn,

ví dụ:

mật khẩu của bạn là "A @ ple123", sau đó sử dụng "A% 40ple123"

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.