Tôi biết cách thiết lập proxy đơn giản bằng cách sử dụng ssh -D
, nhưng tôi muốn sử dụng xác thực dựa trên tên người dùng và mật khẩu cho trường hợp này. Không có cách nào khác ư?
Tôi biết cách thiết lập proxy đơn giản bằng cách sử dụng ssh -D
, nhưng tôi muốn sử dụng xác thực dựa trên tên người dùng và mật khẩu cho trường hợp này. Không có cách nào khác ư?
Câu trả lời:
Chuyển tiếp cổng cấp ứng dụng động ( ssh -D
) không hỗ trợ tính năng này. Thay vào đó hãy xem Dante :
[I] net-proxy/dante
Available versions: 1.1.19-r4 (~)1.2.3 (~)1.3.0 (~)1.3.1 (~)1.3.1-r1 (~)1.3.2 {debug kerberos pam selinux static-libs tcpd}
Installed versions: 1.3.2(04:14:03 PM 11/08/2011)(pam static-libs tcpd -debug -kerberos -selinux)
Homepage: http://www.inet.no/dante/
Description: A free socks4,5 and msproxy implementation
Nhưng lưu ý rằng mật khẩu được truyền trong Cleartext .
Để định cấu hình xác thực dựa trên tên người dùng, hãy mở /etc/sockd.conf
tệp và thêm / thay đổi các mục sau:
logoutput: syslog /var/log/dante.log
# methods for socks-rules.
method: username #rfc931
# when doing something that can require privilege,
# it will use the userid "sockd".
user.privileged: root
# when running as usual,
# it will use the unprivileged userid of "sockd".
user.notprivileged: sockd
pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
protocol: tcp udp
command: bind connect udpassociate
log: error
method: username
}
Kiểm tra các ổ cắm nghe sau khi bắt đầu:
# netstat -nlp | grep sockd
tcp 0 0 127.0.0.1:1080 0.0.0.0:* LISTEN 5463/sockd
tcp 0 0 192.168.15.36:1080 0.0.0.0:* LISTEN 5463/sockd
Hãy xem tệp nhật ký ( /var/log/messages
hoặc /var/log/dante.log
) nếu bạn gặp lỗi.
PS: tệp mật khẩu hệ thống ( /etc/passwd
) được sử dụng để xác minh kết hợp tên người dùng và mật khẩu.
ssh -D
không yêu cầu mật khẩu để truy cập và với việc triển khai hiện tại không thể thực hiện để yêu cầu mật khẩu. Nếu bạn muốn, bạn có thể thiết lập proxy nhiều giai đoạn bằng cách sử dụng máy chủ http thoát (ví dụ apache), sau đó sử dụng đường hầm ssh cho kết nối ra bên ngoài của nó.
Sau đó, một lần nữa, nếu bạn đi quá xa vào đám cỏ dại, thì có lẽ bạn đang đi sai đường và có lẽ cần phải suy nghĩ lại những gì bạn đang cố gắng thực hiện.