วิธีขุดอุโมงค์ HTTP ผ่าน SSH ผ่าน SOCKS ใน Firefox


2

ฉันได้ติดตั้ง SSH ไว้ในแล็ปท็อปที่บ้านและใช้งานได้ดี ฉันตั้งอุโมงค์:

$ ssh -p 443 -C2TNv -D 8080 me@me.no-ip.org

การตั้งค่า Firefox:

manual config:
SOCKS; port 8080
V5

about:config:

network.proxy.socks_remote_dns: true

ขั้วเอาท์พุท:

OpenSSH_5.9p1, OpenSSL 0.9.8t 18 Jan 2012
debug1: Reading configuration data /etc/ssh_config
debug1: Connecting to me.no-ip.org [] port 443.
debug1: Connection established.
debug1: identity file /home/me/.ssh/id_rsa type -1
debug1: identity file /home/me/.ssh/id_rsa-cert type -1
debug1: identity file /home/me/.ssh/id_dsa type -1
debug1: identity file /home/me/.ssh/id_dsa-cert type -1
debug1: identity file /home/me/.ssh/id_ecdsa type -1
debug1: identity file /home/me/.ssh/id_ecdsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.9
debug1: match: OpenSSH_5.9 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.9
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 zlib@openssh.com
debug1: kex: client->server aes128-ctr hmac-md5 zlib@openssh.com
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: <removed>
debug1: Host '[me.no-ip.org]:443' is known and matches the host key.
debug1: Found key in /home/me/.ssh/known_hosts:2
debug1: ssh_ecdsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Trying private key: /home/me/.ssh/id_rsa
debug1: Trying private key: /home/me/.ssh/id_dsa
debug1: Trying private key: /home/me/.ssh/id_ecdsa
debug1: Next authentication method: keyboard-interactive
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: password
me@me.no-ip.org's password:
debug1: Enabling compression at level 6.
debug1: Authentication succeeded (password).
Authenticated to me.no-ip.org ([removed]:443).
debug1: Local connections to LOCALHOST:8080 forwarded to remote address socks:0
debug1: Local forwarding listening on ::1 port 8080.
debug1: channel 0: new [port listener]
debug1: Local forwarding listening on 127.0.0.1 port 8080.
debug1: channel 1: new [port listener]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.

จากนั้นไปที่เว็บไซต์ใด ๆ ที่แสดง: "พร็อกซีเซิร์ฟเวอร์ไม่ยอมรับการเชื่อมต่อ"

กรุณาแนะนำ


คำตอบ:


4

ฉันต้องเปลี่ยนการตั้งค่าอุโมงค์จากภายใน Putty ฉันต้องตรวจสอบฟองแบบไดนามิกและ IPv4; ทำงานได้ดีในขณะนี้


1

คุณต้องใช้งานsshdที่ปลายทางระยะไกลและคุณจำเป็นต้องใช้มันไม่ใช่เว็บเซิร์ฟเวอร์

$ ssh -C2TNv -D8080 me@me.no-ip.org

เบราว์เซอร์โฮสต์และพอร์ตที่แท้จริงเพื่อเชื่อมต่อจะถูกระบุโดยเป็นส่วนหนึ่งของแต่ละคำขอ SOCKS

เมื่อคุณตั้งค่า SOCKS tunnel ด้วยssh -Dนี่คือสิ่งที่เกิดขึ้น:

  • แอพของคุณ (เบราว์เซอร์ในกรณีนี้) เชื่อมต่อกับพอร์ตถุงเท้าภายในที่คุณกำหนดไว้
  • โปรแกรม ssh ที่รันอยู่ในตัวเครื่องทำหน้าที่เป็นเซิร์ฟเวอร์ SOCKS และรับโฮสต์และพอร์ตที่ร้องขอจากเบราว์เซอร์
  • โลคัลsshร้องขอรีโมตsshdรันบนโฮสต์ที่คุณระบุ ( me.no-ip.orgในกรณีของคุณ) เพื่อเปิดการเชื่อมต่อกับโฮสต์และพอร์ตที่ร้องขอ
  • ท้องถิ่นsshและระยะไกลตั้งค่าอุโมงค์ระหว่างพวกเขาเพื่อส่งต่อการจราจรระหว่างการเชื่อมต่อท้องถิ่นที่ทำโดยเบราว์เซอร์และการเชื่อมต่อระยะไกลทำโดยsshd sshdนี่คืออุโมงค์

สวัสดีไมเคิล ขอบคุณสำหรับคำตอบของคุณ แต่ฉันm not sure I follow... Iได้รับ sshd ที่สิ้นสุดระยะไกลแล้วและฉันจัดการเพื่อ ssh จากนั้นฉันได้ตั้งค่า SOCKS tunnel ด้วย ssh -D แต่ "พร็อกซีเซิร์ฟเวอร์ปฏิเสธการเชื่อมต่อ" เมื่อฉันพยายามเรียกดูจากแล็ปท็อปเครื่องอื่น ไม่แน่ใจว่าต้องทำอะไร ขอขอบคุณสำหรับเวลาของคุณ.
Tom

อืม .. เมื่อฉันพยายาม ssh localhost ฉันจะได้รับ: ssh: เชื่อมต่อกับโฮสต์ localhost พอร์ต 22: การเชื่อมต่อถูกปฏิเสธ sshd ทำงานแล้วความคิดใด ๆ ที่ฉันได้รับการเชื่อมต่อถูกปฏิเสธทำไม?
Tom

คุณรู้ได้อย่างไรว่ามันกำลังทำงานอยู่?
Michael Slade

ฉันรู้ว่ามันกำลังทำงานอยู่เพราะ: $ net start sshd บริการที่ร้องขอได้เริ่มขึ้นแล้ว หลังจากรีสตาร์ทบริการฉันสามารถใช้ ssh localhost ได้ แต่ยังได้รับ "พร็อกซีเซิร์ฟเวอร์ไม่ยอมรับการเชื่อมต่อ" เมื่อพยายามเรียกดูจากแล็ปท็อปเครื่องอื่น
Tom

ในที่สุด .. ฉันต้องเปลี่ยนการตั้งค่าอุโมงค์จากภายใน Putty ฉันต้องตรวจสอบฟองอากาศแบบไดนามิกและ IPv4; ทำงานได้ดีในขณะนี้ ขอบคุณที่ตรวจสอบสิ่งนี้ ทั้งหมดที่ดีที่สุด
Tom
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.