SSH vào Ubuntu VM từ xa


10

Tôi không có nhiều kinh nghiệm về mạng hoặc Linux, nhưng tôi đang cố gắng ssh vào một máy ảo Ubuntu từ bên ngoài mạng gia đình của tôi. Máy ảo Ubuntu (VirtualBox) đang chạy trên máy tính để bàn Debian. Tôi đã thực hiện một số nghiên cứu và thấy rằng tôi phải chuyển tiếp cổng 22 từ bộ định tuyến sang máy ảo.

  • Tôi đã thay đổi cài đặt mạng trên VM thành cầu nối.
  • Tôi đang chuyển tiếp cổng tới VM.
  • Tôi đã kiểm tra ( http://www.yougetsignal.com/ ) để hiển thị cổng là mở.

Nhưng khi tôi cố gắng kết nối thì nó vẫn không hoạt động. tên người dùng ssh @ - kết nối bị từ chối

Có bất cứ điều gì tôi phải làm trong máy ảo để cho phép các kết nối đến không? Hoặc chuyển tiếp cổng nào?

Có bất cứ điều gì tôi đang làm sai, bất kỳ trợ giúp sẽ được đánh giá rất cao !!


Làm thế nào là VM nối mạng với máy chủ. Nếu nó đằng sau một NAT (mặc định trên hộp ảo). Nó sẽ không hoạt động nhưng một kết nối bắc cầu sẽ hoạt động miễn là bạn chuyển tiếp các cổng một cách chính xác.
Matt Mootz

Bạn đang sử dụng tên người dùng ssh @ router-ip-address phải không?
cprofitt

1
có tên người dùng @ địa chỉ ip công cộng là đúng?
user1354275

Ubuntu out-of-the-box bao gồm ứng dụng khách OpenSSH , cho phép bạn kết nối với một máy tính khác đang chạy máy chủ SSH. Để kết nối 'với' Ubuntu, bạn cần tải máy chủ OpenSSH ( sudo apt-get install openssh-server ) trên máy đích.
david6

Câu trả lời:


15

Theo mặc định, VirtualBox hoạt động ở chế độ "NAT", nghĩa là nó xây dựng mạng "ảo" và dịch các truy cập mạng từ VM để ra thế giới bên ngoài, chúng dường như đến từ máy tính thực của bạn.

VirtualBox khiến VM nghĩ rằng nó được kết nối với mạng, nhưng thực tế VirtualBox đang cung cấp các dịch vụ mạng, bao gồm cả máy chủ DHCP nhỏ. Sau đó, VirtualBox truy cập mạng "nhân danh" VM, làm cho nó xuất hiện như một ứng dụng khác đang chạy trên PC của bạn.

Tuy nhiên, điều này có nghĩa là thế giới bên ngoài không thực sự biết về VM và không thể truy cập trực tiếp.

Tôi nghĩ rằng việc chuyển hướng cổng bạn đã làm là từ bộ định tuyến gia đình sang PC của bạn chứ không phải VM. Bạn có thể thiếu một số cấu hình ở phía VirtualBox. Xin lỗi nếu bạn đã làm điều này, nhưng câu hỏi của bạn không rõ ràng về điều này.

Về cơ bản, bạn phải thay đổi cấu hình mạng của VM và đặt thành "Cầu nối". Điều này làm là, nó tạo ra một giao diện ảo trên PC của bạn và làm cho VM sử dụng nó để truy cập vào thế giới bên ngoài; bất cứ thứ gì đi vào hoặc đi đến giao diện đó đều được dẫn đến VM. Do đó, VM sẽ hiển thị dưới dạng một máy khác trong bất kỳ mạng nào mà PC của bạn được kết nối (thậm chí nó có địa chỉ MAC riêng!).

Sau đó, tùy thuộc vào cấu hình mạng của bạn, VM có thể nhận địa chỉ DHCP giống như bất kỳ PC nào khác được kết nối với bộ định tuyến của bạn hoặc bạn có thể cần định cấu hình địa chỉ IP tĩnh cho nó. Điều này phụ thuộc vào cách thiết lập mạng của bạn.

Khi VM có địa chỉ "thực", bạn có thể, trên bộ định tuyến của mình, làm theo các hướng dẫn bạn đã tìm thấy để định tuyến cổng 22 đến địa chỉ IP của VM. Điều này sẽ làm việc như bạn mong đợi nó.

Nếu nó không:

  • Nhìn vào cấu hình tường lửa VM của bạn (iptables -L -n). Có phải nó đang chặn bất cứ thứ gì?
  • Thiết lập một máy tính khác trên mạng cục bộ của bạn và thử SSH tới địa chỉ IP của VM. Nếu bạn có thể, thì bạn cần kiểm tra kỹ cấu hình chuyển tiếp trong bộ định tuyến của mình. Nếu bạn không thể, bạn cần kiểm tra lại cấu hình SSH và tường lửa của VM.

Xin chào roadmr, tôi đã thay đổi cài đặt mạng thành cầu nối và tôi chuyển tiếp cổng tới VM vì nó có ip riêng và bộ định tuyến đã có thể tìm thấy nó. Tôi có một ip tĩnh bởi isp. Nhưng vẫn không hoạt động
user1354275

1

từ những gì tôi có thể thu thập, vấn đề của bạn nằm ở mạng máy tính của máy chủ, bởi vì một khi bạn thiết lập mạng vm sang chế độ cầu, bạn sẽ ổn (kiểm tra với ssh <your.vm.ip.number>dòng lệnh máy chủ của bạn - không phải trong vm).

máy chủ của bạn đứng sau một bộ định tuyến, giống như một vm sử dụng NAT trong máy của bạn.

Bạn cần liên hệ với quản trị viên mạng máy chủ của mình để anh ấy / cô ấy có thể chuyển tiếp địa chỉ IP cục bộ của vm của bạn tới một cổng / phạm vi cổng (đảm bảo vm của bạn có địa chỉ IP tĩnh).

Bạn có thể tự làm điều đó nếu bạn có quyền trên cổng máy chủ của mình để làm như vậy.

một chút hình dung:

Internet
     '---ROUTER (SERVER1 and SERVER2 use NAT on this router)
            |   (vm1, vm2, vm3, vm4, vm5 need to be forwarded on this router)
            | 
            '--- SERVER1 (vm1, vm2, vm3 use Bridge)
            |       '---vm1
            |       '---vm2
            |       '---vm3
            '--- SERVER1 (vm4, vm5 use Bridge)
            |       '---vm4
            |       '---vm5
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.