SSH vào VirtualBox Guest: Kết nối bị từ chối


21

Thiết lập

  • HĐH máy chủ Windows 7 64 bit chạy VirtualBox 4.2, với HĐH khách Ubuntu 12.04.
  • Máy chủ OpenSSH được cài đặt và chạy ( ssh -v localhost kết nối cục bộ trong máy khách).
  • Có thể SSH đến các máy chủ bên ngoài (không có cổng chặn quy tắc tường lửa Windows 22 bên ngoài)
  • Có thể ping IP của khách (192.168.56.101)

Vấn đề

Sử dụng PuTTY để SSH vào IP của HĐH khách (192.168.56.101), PuTTY trả về gần như ngay lập tức với

Lỗi mạng: Từ chối kết nối

Làm thế nào tôi có thể chẩn đoán và giải quyết vấn đề này?

Câu trả lời:


10

Bạn có chắc chắn IP dành cho hệ điều hành khách. Tôi có cùng một vấn đề và hóa ra IP tôi đã sử dụng cùng lúc, 192.168.56.101 thực sự là IP giao diện Windows và IP hệ điều hành máy chủ là 192.168.56.103.

Bạn có thể xác minh bằng cách thực hiện ipconfig / ifconfig trên cả hai.

LƯU Ý: Tôi cũng đã thiết lập một IP tĩnh mà hóa ra tôi hoàn toàn không cần. Trong trường hợp bạn thử từ đầu tôi thấy hướng dẫn này tốt hơn.


6
+1, Mặc định VirtualBox là tạo một khách có bộ điều hợp mạng ảo được NAT thông qua chính VirtualBox. Do đó, một khách như vậy sẽ có thể SSH ra và có thể tự SSH , nhưng nó sẽ không thể nhận kết nối SSH cho đến khi các quy tắc Chuyển tiếp cổng được tạo trong VirtualBox.
Gord Thompson

+1 Sau 1h Google-mess, cuối cùng! Tôi nghĩ rằng .101 là khách không phải là chủ nhà!
Afr

6

Không có giải pháp nào khác là tốt vì:

  1. Không có điểm nào để ssh cho khách của bạn thông qua cầu nếu khách sẽ mất quyền truy cập internet
  2. Tất cả các giải pháp khác ở trên bảo bạn xây dựng một tên lửa để băng qua đường.

Kịch bản

  • Lưu trữ máy tính để bàn Ubuntu 16.04
  • Máy khách Ubuntu 16.04 (Chạy trên hộp ảo 5)

Vấn đề

Kết nối SSH bị từ chối

Dung dịch

  1. Tắt máy khách Ubuntu của bạn xuống
  2. Trên Virtualbox, đi tới Cài đặt> mạng> Bộ điều hợp1> Nâng cao> Chuyển tiếp
  3. Tên = SSH Hostport = 2022 (hoặc bất kỳ cổng nào ngoài 22) Guestport (22)
  4. Khởi động lại khách của bạn
  5. Trên máy chủ của bạn mở một Putty hoặc bất cứ thứ gì bạn sử dụng cho SSH
  6. ssh user@127.0.0.1 -p2022 (hoặc bất kỳ cổng nào bạn đã đề cập như là cổng máy chủ)
  7. Chúc bạn vui vẻ

Tôi có vấn đề với điều này: Trên Cài đặt hộp ảo> mạng> Bộ điều hợp1> Nâng cao> Chuyển tiếp có màu xám không thể nhấp được. imgur.com/seT3p02
SL5net

@ SL5net tắt VM
Alon Gouldman

2

Các công việc sau đây cho tôi:

Trước:

vboxnet0: 192.168.56.1
eth1:     192.168.56.1

Sau:

vboxnet0: 192.168.56.1
eth1:     192.168.56.101

Vì vậy, về cơ bản, tôi đã thay đổi một phần của tệp {/ etc / network / giao diện} như sau:

Trước:

auto eth1
iface eth1 inet static
address 192.168.56.1
netmask 255.255.255.0 

Sau:

auto eth1
iface eth1 inet static
address 192.168.56.101
netmask 255.255.255.0 

Công trinh: ssh username@192.168.56.101


Không biết tại sao, điều này làm việc cho tôi. Cảm ơn @M Because
murarisumit

2

Secure Shell (SSH) là một giao thức để đăng nhập và thực thi các lệnh trên các máy từ xa. Nó cung cấp thông tin liên lạc được mã hóa an toàn. Nếu bạn có kế hoạch truy cập máy của mình từ xa thông qua SSH qua giao diện được tường lửa, hãy bật tùy chọn này. Bạn cần gói máy chủ openssh được cài đặt để tùy chọn này hữu ích.

Ở đây có thông tin rằng gói openssh-serverphải được cài đặt. Sau khi làm điều đó với khách và khởi động lại vm, bạn có thể sử dụng ssh.


Tôi đã không khởi động lại Ubuntu 16.04 và nó vẫn hoạt động. Cảm ơn :)
Oren Milman

1

Bạn nên kiểm tra xem tường lửa hệ điều hành khách của bạn không chặn các kết nối đến trên cổng 22.


1
Tường lửa hệ điều hành khách bị vô hiệu hóa. Đó là mặc định và tôi đã xác minh nó bị vô hiệu hóa sudo ufw status.
Eric J.

1

Có lẽ đó là một vấn đề với kiểm soát truy cập. Để vô hiệu hóa nó và cho phép truy cập đầy đủ, như root:

xhosts +

Tôi gặp vấn đề tương tự với người xem VNC


1
Tôi thực sự nghi ngờ rằng, IMHO sshd không liên quan gì đến X - trái ngược với vnc.
mpy

1

Vấn đề đã được giải quyết bằng cách kích hoạt máy chủ DHCP trên bộ điều hợp mạng VirtualBox.

VirtualBox (phiên bản mới nhất, phiên bản 5) -> file -> Preferences -> Mạng -> mạng Host-only (tab) -> Host-only mạng chi tiết (Biểu tượng công cụ) -> DHCP Server

  1. Đánh dấu vào máy chủ
  2. Điền địa chỉ IP
  3. Ừ Ừ
  4. Khởi động lại máy ảo

Cài đặt của tôi cho bước 2

  1. Địa chỉ máy chủ: 192.168.56.100
  2. Mặt nạ máy chủ: 255.255.255.0
  3. Giới hạn địa chỉ thấp hơn: 192.168.56.101
  4. Giới hạn địa chỉ trên: 192.168.56.200

1

Xin chào, tôi vừa trở lại trang đầu tiên tôi tìm thấy trong câu chuyện nhỏ về nghiên cứu và khắc phục sự cố, hy vọng hướng dẫn này tôi thực hiện có thể cứu người khác khỏi mọi rắc rối.

Hướng dẫn bắt đầu về việc thiết lập máy chủ CentOS với Oracle VM:

Phần I - Thiết lập máy ảo

  1. Cài đặt Oracle VM VirtualBox và gói mở rộng tại đây .
  2. Tải về cài đặt tối thiểu CentOS tại đây .
  3. Đối với hướng dẫn này, tôi đang sử dụng máy khách Ubuntu. ISO cho điều đó có thể được tìm thấy ở đây .
  4. Tạo máy chủ CentOS và máy ảo của khách hàng của bạn.
  5. Thiết lập máy ảo CentOS. a. Mở Destination Destination và nhấn Back. b. Chuyển đến Mạng & Tên máy chủ nếu bạn muốn thay đổi tên máy chủ của mình, mà tôi khuyên dùng. c. Hãy thoải mái cấu hình các mục trong Bản địa hóa. Mọi thứ khác được xử lý tự động bởi VirtualBox. d. Nhấn bắt đầu cài đặt. e. Tạo cả tài khoản root và tài khoản bình thường. Hãy chắc chắn rằng cái sau có quyền quản trị viên. f. Khi thanh tải đã đầy, nhấn Reboot.
  6. Thiết lập VM máy khách của bạn. a. Cài đặt bổ sung khách VirtualBox.

Phần II - Cấu hình mạng ảo

  1. Trong VirtualBox, nhấn CTRL + W.
  2. Tạo một mạng máy chủ mới. a. Nếu bạn gặp lỗi, điều này có thể là do hệ điều hành máy chủ của bạn gây ra sự cố VirtualBox khi cài đặt trình điều khiển. Bạn sẽ cần gỡ cài đặt hoàn toàn VirtualBox và cài đặt lại phiên bản mới nhất. Hãy chắc chắn để chạy cài đặt như quản trị viên.
  3. Trong tab Bộ điều hợp, chọn Cấu hình bộ điều hợp Bộ điều hợp thủ công
  4. Đối với Windows, hãy mở Dấu nhắc Lệnh và nhập ipconfig.
  5. Cuộn qua đầu ra cho đến khi bạn tìm thấy tên của mạng chỉ lưu trữ bạn vừa tạo. Sử dụng Địa chỉ và Mặt nạ IPv4 này cho cấu hình mạng VirtualBox.
  6. Đóng Trình quản lý mạng máy chủ.
  7. Mở cài đặt VM máy khách của bạn. Trong Mạng, Bật Bộ điều hợp 2, chọn Bộ điều hợp chỉ lưu trữ và sau đó tên là tên của mạng chỉ lưu trữ mới được tạo của bạn.
  8. Lặp lại bước cuối cùng cho máy chủ CentOS VM của bạn. Ngoài ra, đi tới Chuyển tiếp cổng của Bộ chuyển đổi 1 trong tab Nâng cao và tạo quy tắc mới. Đặt cả cổng máy chủ và cổng khách thành 22.
  9. Trước khi đóng các cài đặt nâng cao, lưu ý địa chỉ MAC.

Phần III - Cấu hình máy chủ

  1. Khởi chạy máy ảo CentOS của bạn.
  2. Run yum check-update, yum upgradeyum clean all.
  3. Chạy đi nmtui.
  4. Lượt truy cập vào trên Chỉnh sửa kết nối.
  5. Bạn sẽ thấy trên mạng enp03s và một kết nối có dây 1 mạng. a. Nếu bạn có hai tùy chọn kết nối nhưng không chắc chắn, đó là chỉnh sửa. Nếu giá trị thiết bị khớp với địa chỉ MAC được thấy trong Bộ điều hợp 1 từ Phần II, thì đó là kết nối NAT của bạn, nếu không thì đó là kết nối chỉ dành cho máy chủ của bạn.
  6. Chỉnh sửa kết nối chỉ lưu trữ của bạn: a. Đặt cấu hình IPv4 thành hướng dẫn sử dụng. Hiển thị cấu hình IPv4 c. Trong VirtualBox, nhấn CTRL + W. Bên cạnh tên mạng chỉ dành cho Máy chủ của bạn, bạn sẽ thấy và kết hợp Địa chỉ IP / Mặt nạ IP của mẫu [ip] / [mask]. Trực tiếp trên máy chủ của bạn theo cấu hình IPv4, đây là những gì bạn sẽ nhập sau khi nhấn <Add…>. d. Đi xuống và nhấn OK.
  7. Đảm bảo rằng Tự động kết nối, được kiểm tra cho cả kết nối NAT và máy chủ của bạn.
  8. Điều hướng ra khỏi nmtuireboot.

Phần IV - Cấu hình và cách sử dụng máy khách

  1. Khởi động VM máy khách của bạn.
  2. (tùy chọn) Chỉnh sửa / etc / hosts để bao gồm một dòng có dạng: [serv_ip_addr] [tên máy chủ] Trong đó serv_ip_addr là địa chỉ IP của máy chủ CentOS của bạn (đầu ra thứ hai hostname -Itrong thiết bị đầu cuối CentOS của bạn). Điều này sẽ cho phép bạn sử dụng bất cứ thứ gì bạn chọn cho [tên máy chủ] có thể hoán đổi với địa chỉ IP của máy chủ của bạn. Tôi thường chỉ đặt tên này thành tên máy chủ được chọn trong phần II.
  3. Nếu mọi thứ hoạt động đến thời điểm này, bạn sẽ có thể ssh [user]@[hostname]vào máy chủ CentOS của mình. Nếu đây không phải là trường hợp, bạn có thể cần phải cài đặt openssh-clientopenssh-servertrên máy của bạn.

Phần V - Phục vụ trang web

  1. Đây là một hướng dẫn tuyệt vời về việc lưu trữ các trang web của riêng bạn từ một thiết lập như được mô tả ở trên.

0

Tôi đã phải giải quyết vấn đề này bằng cách thêm quy tắc ufw cho bộ điều hợp thứ 2:

ufw allow in on enp0s8 to 192.168.56.101 port 22 proto tcp

trong đó enp0s8 là tên của bộ điều hợp thứ 2 của tôi (trên các bản phân phối Ubuntu cũ, đây là eth1).


-1

Trong hộp Linux của bạn (VirtualBox Ubuntu), mở Terminal và nhập lệnh sau: sudo service ssh start

Hãy thử kết nối lại với nó sau này

Ôi trời, tôi đã bỏ lỡ những gì gronostaj đã chỉ ra

OK đôi khi các giải pháp thực sự đơn giản. Gần đây tôi gặp phải vấn đề tương tự với khách Slackware trên máy chủ windows 7. Tất cả những gì tôi phải làm là ifconfig up eth'X 'và gán IP 192.168.56.xxx sub net 255.255.255.0 (nếu chỉ có bộ điều hợp máy chủ) Câu hỏi này gần một năm tuổi, vì vậy tôi đang đề cập đến câu hỏi này cho một người như tôi tình cờ trên trang này tìm kiếm "kết nối ssh bị từ chối" ;-)


OP đã tuyên bố rằng các kết nối SSH cục bộ hoạt động, vì vậy máy chủ đang chạy.
gronostaj

-2

Có cùng một vấn đề, giải quyết nó bằng cách thêm một ổ cứng ảo vào VM, không có.


Điều đó có nghĩa là vấn đề của bạn đã khác. Nếu máy ảo của bạn không có ổ cứng thì nó không được khởi động vào HĐH, đó là máy ảo OP. Vui lòng đọc kỹ các câu hỏi để đảm bảo bạn hiểu chúng trước khi trả lời.
nhạc2myear

Điều này không cung cấp một câu trả lời cho câu hỏi. Một khi bạn có đủ danh tiếng, bạn sẽ có thể nhận xét về bất kỳ bài đăng nào ; thay vào đó, cung cấp câu trả lời không yêu cầu làm rõ từ người hỏi . - Từ đánh giá
music2myear

Máy ảo của tôi đã được khởi động trên tệp ISO 32 bit của Linux, không có ổ cứng ảo bổ sung
Louis Garczynski

Điều đó có nghĩa là bạn đang chạy phiên Linux "Trực tiếp", đây chắc chắn không phải là điều mà OP đang phải đối phó. Chúng tôi rất vui vì bạn đã giải quyết vấn đề của mình, nhưng giải pháp của bạn không phải là giải pháp, hoặc thậm chí gần gũi với những gì OP đang trải qua.
nhạc2myear

Bạn hoàn toàn chính xác, tôi đã không nhận ra vấn đề của OP quá cụ thể. Điều đó nói rằng, xem xét tôi nhận được thông báo lỗi tương tự, tôi sẽ giữ câu trả lời ở đây, chỉ trong trường hợp ai đó có vấn đề của tôi cũng kết thúc ở đây.
Louis Garczynski
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.