Cách SSH vào VirtualBox Guest của bạn

How Ssh Into Your Virtualbox Guest



Đôi khi bạn muốn có quyền truy cập từ xa vào máy ảo của mình. Có thể, đó chỉ là một hệ điều hành máy chủ chạy như một máy ảo, nơi bạn kiểm tra các ứng dụng của mình trước khi thực sự triển khai chúng.

Có khả năng SSH vào Hệ điều hành khách của bạn có thể hữu ích khi bạn không muốn sử dụng GUI của Máy ảo của mình. Đơn giản chỉ cần khởi động máy ảo của bạn ở chế độ không đầu và SSH vào và ra khỏi nó mà không cần mở nhiều cửa sổ trong thiết bị đầu cuối của bạn.







Đối với những người chưa quen với ý tưởng về SSH, chúng tôi sẽ có một phần giới thiệu ngắn về hoạt động của SSH trước khi đi sâu vào thiết lập. Ngoài ra, chúng tôi cần thảo luận về các cài đặt liên quan đến mạng của máy ảo của bạn để đảm bảo bạn có quyền truy cập vào máy ảo đó từ bất kỳ đâu trong mạng LAN của bạn.



Dưới đây là mô hình đơn giản về cách hoạt động của SSH. Bạn tạo một cặp khóa trên máy tính cục bộ của mình. Một khóa công khai và một khóa cá nhân. Thư được mã hóa bằng khóa Công khai có thể được giải mã bằng khóa riêng và ngược lại. Các khóa này thường được lưu trữ trên máy tính cục bộ của bạn theo đường dẫn ~/.ssh/id_rsa (khóa riêng) và ~/.ssh/id_rsa.pem (khóa chung).

Sau đó, bạn truy cập máy chủ từ xa của mình, đăng nhập vào bảng điều khiển với tư cách là người dùng thông thường hoặc người dùng root, mở tệp ~/.ssh/authorized_keys của máy chủ đó. Tại đây, bạn nhập nội dung của khóa công khai của bạn như nó vốn có. Sau khi hoàn tất, bạn có thể ssh với tư cách là người dùng trên máy chủ có thư mục .ssh có các khóa_cấp_cấp, từ thiết bị cục bộ của bạn.

Các .NS phần mở rộng biểu thị rằng tệp đó là khóa công khai mà bạn có thể chia sẻ với bất kỳ ai. Các id_rsa phần chỉ cho biết mật mã mã hóa đang được sử dụng (trong trường hợp này là RSA). Khóa riêng tư có thể được bảo vệ thêm bằng một cụm mật khẩu mà bạn sẽ phải nhập, mỗi khi bạn muốn đăng nhập vào một máy chủ từ xa bằng khóa riêng đó.

Nếu bạn có Mac, Linux hoặc bất kỳ hệ thống giống UNIX nào khác làm máy tính cục bộ, bạn có thể tạo và quản lý khóa bằng thiết bị đầu cuối và bạn cũng có thể SSH vào các máy chủ từ xa bằng cách sử dụng cùng một thiết bị đầu cuối. Đối với người dùng Windows, tôi khuyên bạn nên sử dụng PuTTY hoặc Git Bash cái sau là sở thích cá nhân của tôi. Các lệnh này khá giống nhau khi bạn có một máy khách SSH.

Thiết lập khóa SSH

Trước tiên, hãy đảm bảo rằng nếu chưa có ssh-key nào trong thư mục chính của bạn. Kiểm tra nội dung của thư mục chính của bạn .ssh thư mục. Nếu nghi ngờ, hãy sao lưu nội dung của nó trước khi thực hiện lệnh sau. Các chương trình như Filezilla luôn sử dụng khóa SSH mà người dùng không hề hay biết, vì vậy bước này khá quan trọng.

Trong của bạn máy địa phương , mở thiết bị đầu cuối và nhập lệnh:

$ssh-keygen

Điều này sẽ được theo sau bởi lời nhắc sau với các giá trị trong ngoặc cho biết các giá trị mặc định. Tiếp tục với các lời nhắc và cung cấp cho các khóa của bạn một cụm mật khẩu an toàn.

Xác minh rằng các khóa được tạo bằng cách kiểm tra nội dung của ~ / .ssh thư mục.

$ls -đến~/.ssh

Nếu bạn thấy các tệp khớp với các giá trị mặc định được hiển thị trong ssh-keygen nhắc nhở sau đó mọi thứ đã hoạt động tốt.

Bây giờ, hãy mở một bảng điều khiển cho Máy ảo . Trước tiên, hãy kiểm tra xem máy ảo của bạn có máy chủ SSH đang chạy hay không.

$tình trạng sshd dịch vụ

Nếu nó chưa được cài đặt, hãy sử dụng trình quản lý gói của bạn để tìm kiếm và cài đặt máy chủ OpenSSH. Sau khi hoàn tất, hãy đảm bảo rằng tường lửa của máy ảo của bạn đang mở trên cổng số 22. Ví dụ: nếu bạn đang sử dụng Ubuntu làm máy ảo, thì tường lửa mặc định ufw nên bị vô hiệu hóa hoặc nên cho phép các kết nối cổng 22 như vậy:

$sudotình trạng ufw

Nếu nếu không mở ở cổng 22, hãy sử dụng lệnh sau:

$sudoufw cho phépssh

Tiếp theo, mở tệp ~ / .ssh / allow_keys trên máy ảo của bạn, sử dụng trình soạn thảo văn bản yêu thích của bạn. Bạn có thể muốn bật khay nhớ tạm giữa máy chủ với khách hoặc hai chiều cho bước tiếp theo này.

Bên trong tệp này (ở cuối tệp, nếu nó không trống), hãy dán nội dung của khóa công khai. Phần cuối cùng ghi tên của bạn và máy chủ cục bộ nơi các khóa được tạo không quan trọng bằng phần còn lại của chuỗi.

(Tùy chọn) Không sử dụng khóa SSH

Nếu bạn tin cậy mạng cục bộ của mình, thì bạn có thể sử dụng phương pháp kém an toàn hơn là sử dụng mật khẩu UNIX của mình để chuyển vào máy ảo của bạn. Mở tệp / etc / ssh / sshd_config trên máy ảo của bạn và thay thế dòng:

#PasswordAuthentication không

Đến

Xác thực mật khẩuđúng

Khi điều đó đã đúng, hãy khởi động lại máy chủ SSH của bạn.

$khởi động lại sshd dịch vụ

Bây giờ bạn có thể sử dụng mật khẩu thông thường mà bạn sử dụng để đăng nhập vào máy ảo của mình để ssh vào đó.

Máy ảo và mạng của bạn

Để bạn có thể truy cập vào máy ảo của mình, cả máy tính cục bộ của bạn (máy có khóa cá nhân) và máy ảo phải nằm trên cùng một mạng. Vì vậy, bạn có thể truy cập địa chỉ IP của VM đó. Chúng tôi sẽ hướng dẫn bạn cách thêm máy ảo vào mạng LAN của bạn.

Hãy xem xét ví dụ về cách thiết lập bộ định tuyến tại nhà điển hình. Máy tính của bạn, cùng với các thiết bị khác, được kết nối với bộ định tuyến tại nhà. Bộ định tuyến này cũng hoạt động như một máy chủ DHCP, có nghĩa là nó chỉ định cho mỗi thiết bị được kết nối với nó, một địa chỉ IP riêng duy nhất. Máy tính để bàn của bạn có IP, điện thoại và máy tính xách tay của bạn cũng vậy. Chỉ các thiết bị được kết nối với bộ định tuyến này mới có thể nói chuyện với nhau qua địa chỉ IP của chúng.

Bật chế độ mạng bắc cầu trong cài đặt của máy ảo của bạn và máy ảo sẽ hiển thị khi được kết nối với bộ định tuyến tại nhà của bạn (hoặc máy chủ DHCP tương tự) bằng IP riêng. Nếu một thiết bị thứ hai được kết nối với cùng một mạng (ví dụ, với cùng một bộ định tuyến gia đình) thì nó có thể được sử dụng để chuyển vào máy ảo.

Mở VirtualBox Manager, chọn máy ảo mục tiêu của bạn, mở Cài đặt → Mạng và chọn Mạng kết nối thay vì NAT.

Như bạn có thể thấy máy chủ của tôi được kết nối bằng Wireless nên kết nối đó cũng được chia sẻ bởi VM, nếu bạn đang sử dụng Ethernet, một tên giao diện khác sẽ hiển thị, điều này tốt.

Bây giờ, máy ảo của tôi, được đặt tên là ubuntuvm, hiển thị trên thiết lập mạng LAN của tôi như sau. Kiểm tra cài đặt bộ định tuyến của bạn để xem cài đặt tương tự có phù hợp với bạn hay không.

Khi bạn biết địa chỉ IP của máy ảo của mình, bạn có thể SSH vào đó bằng cách chạy lệnh:

$ssh <tên tài khoản> @ip.address.of.your.vm

Nếu bạn đã đặt cụm mật khẩu cho khóa cá nhân của mình trong các bước trên, bạn sẽ được nhắc nhập lại.

Đó là nó! Giờ đây, bạn có thể khởi động máy ảo của mình ở chế độ không đầu và chỉ cần vào chúng từ bất kỳ đâu trong nhà của bạn. Hy vọng bạn thấy hướng dẫn này thú vị, hãy cho chúng tôi biết nếu có bất kỳ chủ đề nào bạn muốn chúng tôi đề cập.