Làm cách nào tôi có thể ssh vào một máy khách Ubuntu - chạy trên máy chủ win10 - từ máy chủ linux từ xa?


10

Phiên bản ngắn

Nếu tôi đang chạy máy khách VirtualBox VM từ máy chủ Windows 10, tôi cần thực hiện các bước nào sshtừ máy chủ linux từ xa vào máy khách Ubuntu Ubuntu?


_______________________
[                     ]
[ Windows 10          ]
[ ___________________ ]            ____________________
[ [                  ]]            [                   ]
[ [ Ubuntu VM (guest) <----HOW?---- SUSE remote server ]
[ [__________________]]            [___________________]
[_____________________]

Phiên bản dài

Tôi bối rối bởi vì, AFAIK nếu tôi không sử dụng máy ảo khách Ubuntu và thay vào đó là sử dụng máy Ubuntu thực sự, tôi chỉ có thể cat /etc/hosts, tìm địa chỉ IP của địa phương và sau đó từ xa:

user@remote --ssh--> user@<local IP>

Tôi đã thiết lập các khóa ssh để tôi có thể ssh từ máy khách Ubuntu vào máy chủ từ xa SUSE (tức là máy khách ~/.ssh/id_rsa.pubđã được lưu trữ từ xa ~/.ssh/authorized_keys). Tức là tôi đã có thể:

ssh -Y user@remote

Không gặp khó khăn gì, nhưng tôi không thể làm điều đó theo cách khác chỉ đơn giản vì tôi không biết địa chỉ IP khách của mình là gì. Và tôi đã thử sshvới các địa chỉ IP trong "Thông tin kết nối" từ GUI Ubuntu.

Cũng cần phải rõ ràng:

  • VM khách là Ubuntu 12.04 LTS (64-bit)

  • Cài đặt VirtualBox chủ yếu: mặc định

  • Kích hoạt Bộ điều hợp mạng: NAT (kết nối cáp, không chuyển tiếp cổng)

Tôi chưa thiết lập máy chủ ssh, nhưng tôi không chắc nó cần thiết (?), Đây là sự hiểu biết của tôi cho đến nay.

Vì vậy, do tôi đang chạy một máy khách VirtualBox VM từ máy chủ Windows 10, tôi cần thực hiện các bước nào sshtừ máy chủ linux từ xa vào máy khách Ubuntu Ubuntu?

Câu trả lời:


14

Đây thường được gọi là tình huống "NAT kép" khi bạn đứng sau bộ định tuyến. Bạn phải chuyển tiếp từ bộ định tuyến viền sang hệ thống Windows, rồi chuyển tiếp trong VBox sang VM. Bạn cũng có thể phải chuyển tiếp cổng 22 từ kết nối mạng thực tế sang bộ điều hợp VBox NAT, nhưng tôi không rõ ràng về điều đó cho Windows.

Cuối cùng, mặc dù, có nhiều nhất ba điều bạn sẽ phải làm ở đây. Tất cả đều có trong Windows, hoặc không có trong Ubuntu Linux, vì vậy hầu hết các câu trả lời của bạn sẽ thuộc về Siêu người dùng hoặc ở nơi khác.

  1. (Nếu bạn đứng sau bộ định tuyến trên mạng của mình có bật Win10) Thiết lập Chuyển tiếp cổng trên bộ định tuyến của bạn trên mạng để chuyển tiếp Cổng 22 sang hệ thống Windows 10 của bạn.

  2. Đặt Tường lửa Windows để cho phép các kết nối gửi đến trên Cổng 22. Bạn cũng có thể cần chỉ định rằng bạn muốn Cổng 22 được chuyển tiếp từ bộ điều hợp mạng gửi đến mạng NAT trên cài đặt mạng VM.

  3. Đặt quy tắc chuyển tiếp NAT trên mạng NAT trong VirtualBox để chuyển tiếp Cổng 22 trên máy chủ sang Cổng 22 trên VM .

Một cách tiếp cận đẹp hơn một chút mà bỏ qua Bước 2 và Bước 3 ở đây là sử dụng Chế độ Cầu nối trong cài đặt mạng VM; sau đó sẽ nhận được một IP từ cùng một mạng khi hệ thống Windows 10 được kết nối và sau đó bạn có thể chuyển cổng 22 ở bộ định tuyến biên (bước # 1) sang IP được gán bởi mạng cho chính VM. Điều này ít đau đớn hơn so với việc phải thực hiện nhiều bước nhảy và cấu hình để Cổng 22 hoạt động.

LƯU Ý: Một số ISP lọc Cổng 22 để lưu lượng Cổng 22 không đến được hệ thống; bạn có thể phải thiết lập một cổng cao hơn Cổng 22 (chẳng hạn như 2022 hoặc một cổng không chuẩn khác> 1024) thay vào đó nếu đây là trường hợp.


Đối với việc tìm IP của khách, thông tin đó sẽ có trong đầu ra của ifconfig -ahoặc ip -4 addr listtrong máy khách Linux. Đó là phần dễ nhất trong số này, bởi vì đây sẽ là phần giống nhau, Bridged hoặc NAT.


Tôi sẽ nghiên cứu lời cảm ơn này, tôi thực sự không biết bạn đã trả lời nhanh như thế nào ... Sẽ xóa nhận xét này sau khi nghiên cứu
hello_there_andy

1
.... Quá trình này tương tự trong Linux và Windows, nhưng hoàn toàn khác nhau về các bước, mặc dù trong trường hợp của tôi, máy ảo của tôi không bao giờ cần bên ngoài -> trong; Đối với những máy ảo đó, tôi đặt chúng trên một máy ảo hóa ESXi chuyên dụng, là máy chuyên dùng để chạy VM và chuyển trực tiếp tới thiết lập Ethernet hiện có (không có NAT ở đó). Nhưng đó là một thiết lập không điển hình, tất nhiên.
Thomas Thomas

1
@hello_there_andy chỉ cần đảm bảo rằng khách cũng đã openssh-servercài đặt trên đó - vì vậy bạn có thể chấp nhận SSH. Ngoài ra, phần còn lại là công cụ cấu hình mạng / tường lửa / cấu hình Windows. (Do đó, Siêu người dùng và không hỏi Ubuntu)
Thomas Ward

3

Bạn sẽ cần phải thiết lập port forwardingtrongWindows 10 VM player

Bạn sẽ cần phải thiết lập cổng bên ngoài trên Windows 10 máy, mà sẽ được chuyển tiếp đến service porttrên virtual machinetrong NAT network.

Liên kết này giải thích làm thế nào để làm điều đó


1
Trong khi về mặt lý thuyết có thể trả lời câu hỏi, các câu trả lời chỉ liên kết thường được tán thành. Bạn nên đưa thông tin liên quan từ các bài đăng được liên kết, trong trường hợp các bài đăng đó sẽ biến mất vào một thời điểm nào đó trong tương lai.
Thomas Thomas

Cảm ơn cho nhận xét, và đã cung cấp các chi tiết trong câu trả lời của bạn.
Yaron
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.