Sử dụng trình duyệt thực thay vì w3m trên các kết nối SSH


10

Tôi đang sử dụng Ubuntu làm hệ điều hành máy tính để bàn và máy chủ. Khi tôi đăng nhập vào máy chủ thông qua sshtrên terminalvà phải xem một trang web (localhost) trên w3m máy chủ tôi sử dụng ( w3m localhost).

Thật không may, w3m không dễ xử lý, vì trang này có một số menu lớn và sử dụng jQuery. Vì vậy, tôi tự hỏi liệu có thể sử dụng trình duyệt trên Máy tính để bàn của mình để kết nối với máy chủ thông qua SSH với trình duyệt thực (Firefox hoặc Chrome) không.

Về cơ bản, nó sẽ yêu cầu kết nối với trình duyệt trên máy tính để bàn của tôi với máy chủ qua SSH usernamepasswordvà mở trên máy chủ đó localhost.

Điều này có thể theo mặc định hay có bất kỳ tiện ích bổ sung nào cho Firefox / Chrome không? Tôi thích Firefox hơn.


Không phải là một câu trả lời cho câu hỏi của bạn, nhưng ... còn việc sử dụng chuyển tiếp X thì sao ?.
Javier Rivera

1
Tại sao bạn không thể kết nối với máy chủ từ xa thông qua http? Bạn có đặc biệt cần yêu cầu bắt nguồn từ localhost cho mục đích thử nghiệm không? Chuyển tiếp @Javier X, đặc biệt là cho firefox, rất nặng về băng thông và tôi không khuyến nghị nó cho các kết nối không cục bộ.
Carsten Thiel

Đó là một mặt cho mục đích thử nghiệm vì vậy nó cần phải là localhost. Mặt khác, máy chủ từ xa không nằm trong mạng cục bộ và không thể truy cập qua http thông thường.
Hố

Có, băng thông là một mối quan tâm khi chuyển tiếp X.
Javier Rivera

Câu trả lời:


14

Sử dụng chuyển tiếp cổng ssh.

Kết nối với máy chủ từ xa bằng một cái gì đó như thế này:

ssh -L 8080:localhost:80 user@remoteserver

Bây giờ, trỏ trình duyệt cục bộ của bạn đến localhost: 8080. Nó nên được chuyển tiếp đến localhost: 80 trong máy chủ từ xa.


Tôi vừa thử nghiệm điều này trên một máy chủ trong mạng cục bộ của tôi và nó dường như hoạt động. Tôi sẽ kiểm tra nó sau với máy chủ từ xa.
Hố

6

PHẦN 1

Tạo một proxy vớ với ssh!

ssh -D 9999 user@remoteserver

Bây giờ hãy mở tùy chọn Firefox của bạn, đi đến Nâng cao> Mạng> Cài đặt. Chọn cấu hình proxy thủ công. Đặt localhost cho SOCKS Host, đặt 9999 cho cổng. Kiểm tra nó bằng cách truy cập http://whatismyip.org hoặc một số trang web tương tự.

Vì bạn cho biết bạn đang cố truy cập một trang web tại localhost (liên quan đến máy chủ của bạn), bạn có thể không muốn loại trừ localhost và 127.0.0.1 khỏi sử dụng proxy. Tất nhiên, bạn chỉ có thể sử dụng ip cục bộ của máy chủ ..

Nếu bạn không thích lời giải thích của tôi, những liên kết này đã khiến tôi nhớ đến khi viết bài này:

http://linux.die.net/man/1/ssh

http://embraceubfox.com/2006/12/08/ssh-tunnel-socks-proxy-forwarding-secure-browsing/

https://calomel.org/firefox_ssh_proxy.html

PHẦN 2

Lỗi bạn gặp phải, channel 3: open failed: connect failed: Connection refusedhoàn toàn không liên quan gì đến ssh. Rõ ràng bạn đang cố gắng truy cập một số thứ mysql. Điều này có thêm một thách thức, bởi vì mysql chặn truy cập từ các đường hầm ssh theo mặc định. Tôi không làm mysql, vì vậy tôi không biết những gì tôi đang nói về phần còn lại của điều này. Tôi chỉ trích dẫn các bit có liên quan ở cuối, mà bạn nên đọc.

Mở /etc/mysql/my.cnf và tìm phần [mysqld]. Nếu bạn thấy một dòng "bỏ qua mạng", hãy bình luận nó. Thêm "bind-address = 127.0.0.1" (tất nhiên không có dấu ngoặc kép).

http://www.debfox.org/port-forwarding-and-channel-3-open-fails-connect-fails-Connection-refuse

Phần 3

Giải pháp của Javier ssh -L 8080:localhost:80 user@remoteserverthật tuyệt vời nếu bạn chỉ cần truy cập vào một địa điểm. Nó cho phép bạn truy cập localhost và để phần còn lại của internet. Giải pháp của tôi với ssh -D đi xa hơn và thực sự sẽ hướng tất cả các yêu cầu http của bạn đến máy chủ từ xa. Rõ ràng bạn có thể không thực sự muốn điều này. Nhưng tôi đã thấy hữu ích khi tôi muốn truy cập http vào tất cả các máy trên mạng hoặc khi tôi không muốn các yêu cầu http của mình đi qua mạng mà tôi đã kết nối (ví dụ: ngân hàng trực tuyến tại starbucks. thông qua đường hầm ssh đến internet nhà tôi.)


Khi yêu cầu 'localhost' trong firefox, tôi gặp lỗi trong thiết bị đầu cuối nơi tôi đã mở kết nối ssh : channel 3: open failed: connect failed: Connection refused. Tôi không có thời gian để tìm kiếm nó, nhưng có lẽ bạn biết nó có thể là gì?
Hố

Tôi chỉ thấy trong trang man của ssh rằng bạn cần phải root để sử dụng -Dtùy chọn. Đây là lý do nó không và sẽ không hoạt động, vì tôi không thể kết nối với quyền root với máy chủ (vì lý do bảo mật).
Hố

Gì? Tôi đã sử dụng điều này mọi lúc như một người dùng bình thường ở cả hai đầu của đường hầm. Ồ tôi hiểu rồi. Bạn phải root nếu bạn thử và sử dụng một cổng như 80, hoặc 21 hoặc bất kỳ cổng nào dành riêng cho IANA. Bất cứ điều gì hơn 1024 nên ổn. Tôi nghĩ rằng lỗi đã xảy ra với việc chặn ssh.conf của bạn về phía trước. Bây giờ tôi đang đi dọc theo những dòng đó.
djeikyb

Tôi đã khắc phục lỗi của bạn và đã đưa ra bài viết này nói rằng mysql có một "tính năng" bảo mật chặn truy cập từ cổng chuyển tiếp theo mặc định. debfox.org/iêu
djeikyb

2

Bạn có thể sử dụng chuyển tiếp X thông qua SSH để mọi ứng dụng X bạn chạy trên máy chủ sẽ hiển thị trên máy tính cá nhân của bạn.

  1. Khi kết nối với SSH đến máy chủ, hãy thêm cờ -X. Ví dụ , ssh -X myserver.
  2. Cài đặt trình duyệt GUI trên máy chủ và chỉ cần chạy nó. Đầu ra sẽ xuất hiện trên máy tính cá nhân của bạn thông qua chuyển tiếp X và kết nối SSH an toàn.

Như Carsten đã đề cập trong bình luận của anh ấy cho câu hỏi của tôi và liên quan đến việc máy chủ từ xa không có trong mạng cục bộ của tôi, còn băng thông thì sao?
Hố

Bạn sẽ cần xác định các yêu cầu băng thông của bạn. Không, bạn có thể thử và xem nó hoạt động như thế nào.
dùng4124
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.