Phục vụ Internet cho máy từ xa thông qua phiên SSH?


19

Máy mà tôi đang SSH tới máy chủ từ xa / máy chủ (cùng mạng / LAN) có quyền truy cập Internet nhưng máy chủ thì không.

Chạy các bản cập nhật và cài đặt các gói trên máy chủ khá bất tiện vì sau đó tôi phải khởi động proxy cục bộ và sau đó định cấu hình máy từ xa để sử dụng.

Vì vậy, tôi đã tự hỏi nếu có một cách dễ dàng hơn để làm điều này thông qua, có thể, SSH hoặc một cái gì khác?

Tôi có một nhận thức về sự phức tạp nằm bên trong, nhưng tò mò muốn biết.

Sử dụng plinkthông qua Emacs (nếu nó quan trọng).

Câu trả lời:


21

Hãy gọi cho máy có truy cập internet hasinetvà máy không có noinet.

Nếu bạn có thể tạo kết nối SSH từ noinet đến hasinet

Bạn có thể thực hiện việc này một cách dễ dàng với proxy SOCKS tích hợp của OpenSSH. Lệnh này sẽ thiết lập proxy SOCKS khi noinetnghe trên cổng 1080:

noinet$ ssh -D 1080 hasinet

Nếu bạn chỉ có thể làm cho các kết nối SSH để noinet từ hasinet

Bạn có thể chạy proxy SOCKS của OpenSSH hasinetvà sau đó chuyển tiếp một cổng từ noinetđến hasinet. Điều này có thể được thực hiện một cách khéo léo với một lệnh như vậy (cảm ơn @Patrick):

hasinet$ ssh -D 1080 localhost -t ssh -R 1080:localhost:1080 noinet

Cách sử dụng proxy SOCKS

Cách bạn sử dụng proxy này sẽ phụ thuộc vào ứng dụng. Một số ứng dụng có hỗ trợ cho proxy SOCKS được tích hợp. Nếu đó là trường hợp, bạn sẽ cần định cấu hình ứng dụng của mình để sử dụng proxy localhost:1080. Nếu không, bạn có thể sử dụng proxy hoặc redsocks, như @sciurus gợi ý. tsocks là một giải pháp nhẹ hơn nếu bạn chỉ cần cung cấp quyền truy cập mạng cho một số lệnh.


1
Thay vì phải cài đặt proxy vớ trên hasinet khi noinet cần thoát ra, chỉ cần ssh -t -D 1080 localhost ssh -R 1080:localhost:1080 noinet(có một lệnh).
Patrick

2

Đây là một cách để làm điều này thông qua SSH:

Trên máy không có truy cập internet, hãy chạy

ssh -D 8080 machine_with_internet_access

Bạn có thể thay thế 8080 bằng bất kỳ số cổng không sử dụng nào,

Sau đó cài đặt phần mềm như proxychains hoặc redsocks , cấu hình chúng để kết nối với localhost: 8080 , và phần mềm chạy mà truy cập internet nhu cầu qua chúng.

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.