Làm cách nào để kết nối 2 PC qua ssh client bằng máy chủ?


0

Tôi có 2 PC mà tôi muốn kết nối qua internet với cổng ssh phía trước. Vấn đề là cả hai PC không có IP công cộng. Ý tưởng của tôi là sử dụng máy chủ công cộng (ps) và sử dụng ssh -R <port>:localhost:<port> <ps-user>@<ps-address> trên PC1.

Đối với PC2, tôi đã thử 2 điều để tạo Kết nối với PC1: ssh -p <port> <pc1-user>@<ps-address>ssh -L <port>:localhost:<port> <pc1-user>@<ps-address>. Nhưng cả hai đều không dẫn đến kết nối ssh với PC1.

Tôi làm gì sai ở đây?

Ngoài ra: Xin lưu ý rằng tôi không thể chuyển tiếp trên cả PC1 và PC2


Bạn có thể sử dụng IP công cộng của bộ định tuyến, nhưng chỉ để kết nối từ bên ngoài mạng (không có chuyến đi khứ hồi), thiết lập chuyển tiếp cổng trên bộ định tuyến. Mặt khác, bài viết của bạn rất không rõ ràng - bạn có thể thay thế các giá trị cho <port> vv và báo cáo về hệ điều hành và kiến ​​trúc mạng cục bộ của bạn?
harrymc

Chắc chắn, Cổng là 5900. Nền tảng là tôi có một thiết bị Ubuntu (PC1) nằm trong một mạng không xác định (thiết bị di chuyển từ vị trí này sang vị trí khác, hầu hết thời gian nó sẽ chỉ là một bộ định tuyến + thiết bị trong mạng nhưng tôi không có cách nào để cấu hình bộ định tuyến để chuyển tiếp một cổng cho tôi). Tôi muốn có thể thiết lập phiên vnc được mã hóa bằng ssh và x11vnc từ bất kỳ PC Windows nào (PC2, cái này cũng thay đổi vị trí nhưng không bao giờ ở cùng làn với PC1) cho thiết bị PC1 (PC1 đang chạy x11vnc).
Teekeks

Câu trả lời:


0

Vì vậy, nếu tôi hiểu câu hỏi của bạn, bạn có:

  • 2 PC trên mạng nội bộ.
  • Bạn không có ảnh hưởng đến các bộ định tuyến trên một trong hai mạng.

Và bạn muốn:

  • Thiết lập một máy chủ công cộng ( PS ) lưu trữ một dịch vụ SSH (tôi giả sử cảng 22 ).
  • Kết nối PC1 PC2 đến PS (Lưu lượng đi, không có cấu hình bộ định tuyến).
  • Kết nối phiên VNC từ PC2 (Windows) để PC1 (Ubuntu) trên cổng 5900 .

Bạn có thể đạt được điều đó bằng cách tạo một đường hầm SSH, thực hiện chuyển tiếp từ xa từ PC1 và chuyển tiếp cục bộ từ PC2.

Đây sẽ là kiến ​​trúc: Architecture diagram

Vì vậy, để làm việc này, từ Ubuntu PC, PC1, bạn cần kết nối với PS bằng cách sử dụng:

ssh <ps-user>@<ps-address> -R 5901:localhost:5900

Tại thời điểm này nếu bạn đăng nhập vào PC1, bạn có thể chạy netstat -latn | grep 5901 và bạn sẽ thấy nó lắng nghe. Điều này có nghĩa là một nửa của quá trình đã sẵn sàng.

Bây giờ kết nối máy khách. Từ PC2, nếu đó cũng là một hộp linux, bạn có thể sử dụng

ssh <ps-user>@<ps-address> -L 5902:localhost:5901

nếu là Windows, bạn có thể sử dụng PuTTY, bằng cách đặt phần chuyển tiếp cổng bên dưới Connection / SSH / Tunnelsvà thêm một cổng cục bộ với cổng nguồn 5902 và đích đến localhost:5901. Khi nhấp vào thêm, bạn sẽ thấy trong danh sách các cổng được chuyển tiếp giống như L5902 localhost:5901

Bây giờ bạn có hai đường hầm được kết nối với một máy chủ công cộng. Nếu bạn chạy trình xem VNC từ PC2 và trỏ đến localhost: 5902, bạn nên kết nối với dịch vụ VNC nghe trên cổng 5900 trên PC1.

Hy vọng nó giúp.

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.