Làm cách nào để tôi tạo đường hầm và duyệt trang web máy chủ trên máy tính xách tay của tôi?


55

Tôi chạy một ứng dụng web trong một trong các máy chủ phòng thí nghiệm của mình và tôi đã thiết lập Chuyển tiếp X11 trên các máy đó. Các thành viên phòng thí nghiệm khác có thể tạo đường hầm thông qua SSH và duyệt ứng dụng web đó trên trình duyệt cục bộ của họ ở nhà.

Tôi không thể. Lần trước tôi đã kiểm tra với họ, hầu như tôi không cần phải làm gì.

Khi tôi gõ 192.168.1.113/webapptôi không nhận được gì.

Lời khuyên nào?

Cảm ơn.


Tôi đã kết thúc bằng cách sử dụng phương pháp thứ hai :)

ssh -L 8080:<server-ip-address>:80 <username>@<remote-addr> -N

@BlueXrider chung, vâng, về chủ đề, có. Đối với một cái gì đó như thế này, các phiên bản của Ubuntu không thực sự quan trọng, nó thuộc về chủ đề như một torrent là gì và làm thế nào để tôi sử dụng nó được coi là theo chủ đề. :)
jrg

Câu trả lời:


105

Có hai cách bạn có thể làm điều này với SSH.

Đường hầm mọi thứ với proxy SOCKS

Đăng nhập vào máy từ xa bằng lệnh sau:

ssh -D 8080 remote-host

Bây giờ, hãy chuyển đến cài đặt proxy của trình duyệt của bạn và định cấu hình nó để sử dụng proxy SOCKS với tên 127.0.0.1và cổng máy chủ 8080(hoặc bất kỳ cổng nào bạn chuyển qua -Dtùy chọn). Bây giờ tất cả các trang bạn tải trong trình duyệt web của bạn sẽ được điều chỉnh thông qua kết nối SSH. Bây giờ bạn có thể truy cập trang web riêng giống như cách bạn làm từ máy chủ từ xa.

Khi bạn đã hoàn tất, hãy đặt cài đặt proxy của trình duyệt của bạn trở lại bình thường.

Một nhược điểm của phương pháp này là tất cả lưu lượng truy cập khác trong trình duyệt web cũng sẽ đi qua kết nối SSH. Mặt khác, bạn có thể truy cập các máy chủ từ xa bằng tên máy chủ thực sự của chúng và có thể dễ dàng truy cập nhiều trang web riêng tư.

Đường hầm một cổng duy nhất.

Phương pháp thay thế là sử dụng SSH để chuyển tiếp một cổng:

ssh -L 8080:server-hostname:80 remote-host

Bây giờ nếu bạn trỏ trình duyệt web của mình vào http://localhost:8080/, bạn sẽ thấy nội dung http://server-hostname/như nó sẽ xuất hiện từ máy chủ từ xa.

Lợi ích của phương pháp này là nó để lại phần còn lại của lưu lượng trình duyệt. Nhược điểm là một số liên kết có thể không hoạt động nếu trang web từ xa sử dụng tham chiếu URL tuyệt đối. Nếu trang web chủ yếu sử dụng các tham chiếu URL tương đối, thì phương pháp này là đủ.

Đối với cả hai giải pháp này, không có gì đặc biệt về cổng 8080. Bạn có thể sử dụng bất kỳ số cổng địa phương miễn phí nào bạn muốn, miễn là bạn nhớ sử dụng cùng một số trong lệnh sshgọi và trong trình duyệt web.


3
Cảm ơn. Nó rất hữu ích! Tôi quản lý để làm theo cách này: ssh -L 8080:<server-ip-address>:80 <username>@<remote-addr> -Nmột cái gì đó như thế này (phương pháp thứ hai).
CppLearner

Có đúng không khi tôi chỉ định cấu hình proxy vớ trong phương thức đầu tiên (xem: spareclock Motorcycle.files.wordpress.com/2009/04/ trên ). Tức là nó sẽ không hoạt động, nếu tôi trỏ proxy http đến 127.0.0.1:8080? Nếu điều này là đúng, có lẽ bạn có thể chỉ ra trong câu trả lời tuyệt vời của bạn, mà người ta phải thiết lập chỉ vớ proxy.
sinh viên

Nếu bạn sử dụng Chrome (trình duyệt thứ hai?), Bạn có thể truyền tham số proxy cho SOCKS5 trực tiếp khi bắt đầu: chromium-browser --proxy-server = "vớ5: // localhost: 8080"
panticz.de
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.