ฉันรู้วิธีตั้งค่าพร็อกซีอย่างง่ายโดยใช้ssh -D
แต่ฉันต้องการใช้การรับรองความถูกต้องด้วยชื่อผู้ใช้และรหัสผ่านสำหรับกรณีนี้ มีวิธีใดบ้าง
ฉันรู้วิธีตั้งค่าพร็อกซีอย่างง่ายโดยใช้ssh -D
แต่ฉันต้องการใช้การรับรองความถูกต้องด้วยชื่อผู้ใช้และรหัสผ่านสำหรับกรณีนี้ มีวิธีใดบ้าง
คำตอบ:
การส่งต่อพอร์ตระดับแอปพลิเคชันแบบไดนามิก ( ssh -D
) ไม่รองรับคุณสมบัตินี้ ลองดูที่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
แต่โปรดทราบว่ารหัสผ่านจะถูกส่งเป็นข้อความธรรมดา
ในการกำหนดค่าการรับรองความถูกต้องโดยใช้ชื่อผู้ใช้เปิด/etc/sockd.conf
ไฟล์และเพิ่ม / เปลี่ยนต่อไปนี้:
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
}
ตรวจสอบซ็อกเก็ตการฟังหลังจากเริ่มต้น:
# 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
ลองดูที่ไฟล์บันทึก ( /var/log/messages
หรือ/var/log/dante.log
) ถ้าคุณทำอะไรผิด
PS: ไฟล์รหัสผ่านระบบ ( /etc/passwd
) ใช้สำหรับตรวจสอบชื่อผู้ใช้และรหัสผ่าน
ssh -D
ไม่จำเป็นต้องใช้รหัสผ่านสำหรับการเข้าถึงและด้วยการใช้งานในปัจจุบันไม่สามารถทำได้เพื่อขอรหัสผ่าน หากคุณต้องการคุณสามารถตั้งค่าพร็อกซีหลายขั้นตอนโดยใช้เซิร์ฟเวอร์ http ที่มีอยู่ (เช่น apache) ซึ่งใช้ช่องสัญญาณ ssh สำหรับการเชื่อมต่อขาออก
จากนั้นอีกครั้งหากคุณเข้ามาในวัชพืชคุณอาจจะไปตามถนนที่ผิดและอาจต้องคิดใหม่ว่าคุณกำลังพยายามทำอะไรให้สำเร็จ