Không thể SSH vào máy ảo


11

Máy Vagrant cục bộ được cài đặt tại địa chỉ IP 10.0.0.23với tên máy chủ lamp-vm.

Sử dụng vagrant sshlệnh, tôi có thể kết nối tốt và làm mọi thứ tôi cần.

Điều này tạo ra một lỗi

$ ssh vagrant @ đèn-vm -v -v

debug1: kết nối với địa chỉ 10.0.0.23 cổng 22: Đã hết thời gian kết nối
ssh: kết nối với máy chủ đèn-vm cổng 22: Đã hết thời gian kết nối

/etc/hostsTập tin của tôi chứa 10.0.0.23 lamp-vm.

Tệp .ssh / config của tôi trông giống như

Đèn máy chủ-vm
Người dùng không rõ
Danh tínhFile ~ / .ssh / vagrant

Tôi đã thử lệnh ssh có và không có -i /path/to/.sh/identity_file.

Làm cách nào để kết nối với Máy ảo Vagrant của tôi bằng SSH?

Câu trả lời:


8

Tôi cũng gặp phải vấn đề này và đây là cấu hình cuối cùng của tôi cho phép tôi ssh vào máy mơ hồ của tôi từ bất cứ nơi nào trong máy chủ của tôi.

Vagrantfile:

...
# Setting up private_network to have virtual host
config.vm.network :private_network, ip: "192.168.33.10"

# Enable ssh forward agent
config.ssh.forward_agent = true
...

ssh vào máy:

ssh vagrant@192.168.33.10

Bạn sẽ được nhắc nhập mật khẩu (mặc định là mơ hồ):

vagrant@192.168.33.28's password:

Và bùng nổ, bạn đang ở!

PS * Bạn có thể sử dụng scp quá bất cứ nơi nào trong máy chủ của bạn:

scp /path/to/src/file vagrant@192.168.33.10:/path/to/destination/file

Mặc dù điều này hoạt động nhưng nó khá mong manh - tôi thấy rằng Vagrantfile của chúng tôi đã gây ra một số chỉnh sửa cho / etc / network / giao diện trên VirtualBox VM, điều đó có nghĩa là kết nối SSH của tôi sẽ bị hủy. Kết nối localhost ( ssh -p 2222 vagrant@localhost) sẽ không bị ảnh hưởng bởi điều này.
RichVel 7/03/2016

8

Nó đã cũ nhưng vì không có câu trả lời, tôi sẽ cung cấp một cái. Chỉ huy:

vagrant ssh

Là tương đương với

ssh vagrant@localhost -p 2222 -i .vagrant/machines/default/virtualbox/private_key

Đây là hành vi mặc định, nếu bạn thay đổi lệnh thay đổi một cách thích hợp. Trước hết Vagrant sẽ tạo người dùng mơ hồ trên hộp khách của bạn và bạn sẽ sử dụng người dùng đó để ssh. Như những người trước đã nói, nó sẽ chuyển lưu lượng truy cập từ cổng 2222 trên máy chủ của bạn sang cổng 22 trên khách của bạn, theo mặc định (khi bạn sử dụng mơ hồ, bạn sẽ thấy thông báo đó được hiển thị). Và cuối cùng Vagrant tạo các khóa cho phiên ssh để bạn không phải làm vậy, vì vậy bạn cần cung cấp khóa chung làm đối số khi kết nối qua ssh.


Đây là câu trả lời thực sự và đúng! Hoạt động mà không có vấn đề, với mobaxterm chẳng hạn. Bạn cũng cần chỉ định đường dẫn đầy đủ cho private_key
sineverba

6

Hành vi này là do thiết kế.

Vagrant sử dụng chế độ VirtualBox NAT có nghĩa là sử dụng chuyển tiếp cổng.

Bạn không thể SSH trực tiếp vào máy ảo của mình bằng chế độ NAT.

Sử dụng 'vagrant ssh' có nghĩa là vagrant sẽ thực hiện chuyển tiếp cổng cho bạn để bạn không phải lo lắng về điều đó. Tôi nghĩ rằng nó sẽ kết nối với localhost trên cổng 2222 theo mặc định nhưng nó sẽ cố gắng sắp xếp bất kỳ xung đột số cổng nào.

Nếu bạn cần SSH trực tiếp đến VM của mình, hãy chuyển VM sang chế độ mạng chỉ dành cho máy chủ hoặc cầu nối.


Cảm ơn Philip nhưng tôi sẽ giải quyết nó như thế nào? Xin lỗi vì sự thiếu kinh nghiệm.
csi

1
Tôi đang sử dụng chế độ chỉ lưu trữ và vấn đề vẫn còn.
csi

Nên là câu trả lời được chấp nhận. Rất hữu ích để hiểu điều này - thông qua localhost trên cổng 2222 là đường đến một thiết lập Vagrant đang hoạt động (vì một số lý do tôi không thể sử dụng khóa insecure_private_key để làm việc.) Tôi thấy rằng 'khóa riêng không an toàn' tiêu chuẩn 'không công việc, vì vậy tôi đã kết thúc việc chỉ định một khóa riêng và tên người dùng khác trong Vagrantfile, nhưng phần localhost port 2222 không cần thay đổi.
RichVel

5

Tôi đã có thể thêm điều này như một bình luận, nhưng hiện tại tôi không có đủ đại diện để làm như vậy. Tôi đã viết một cách hướng dẫn để đặt VM của bạn ở chế độ bắc cầu tại đây:

https://askubfox.com/questions/116861/setting-up-a-network-b between-a-host-and-guide-virtual-machine / 107909 #116909

Tôi hy vọng bạn thấy nó hữu dụng!


+1 tại đây và trên AU.SE; tốt đẹp viết lên.
msanford

3

Windows / Vagrant / Ubuntu

Đây là những gì làm việc cho tôi và bạn có thể nhanh chóng tìm ra nếu điều này sẽ hoạt động bằng cách chạy này trên máy khách ssh.

ssh vagrant@127.0.0.1 -p 2222 -v

-V sẽ đặt nó ở chế độ dài dòng và hiển thị thông tin gỡ lỗi ...

$ ssh vagrant@127.0.0.1 -p 2222 -v
OpenSSH_7.1p1, OpenSSL 1.0.2e ngày 3 tháng 12 năm 2015
debug1: Kết nối với 127.0.0.1 [127.0.0.1] cổng 2222.
debug1: Đã thiết lập kết nối.
debug1: tập tin nhận dạng /home/Jamie/.ssh/id_rsa loại 1
debug1: key_load_public: Không có tập tin hoặc thư mục như vậy
debug1: tập tin nhận dạng /home/Jamie/.ssh/id_rsa-cert loại -1
debug1: key_load_p thư mục
debug1: tệp nhận dạng /home/Jamie/.ssh/id_dsa loại -1
debug1: key_load_public: Không có tệp hoặc thư mục
debug1: tệp nhận dạng /home/Jamie/.ssh/id_dsa-cert loại -1
debug1: key_load_public tệp hoặc thư mục
debug1: tệp nhận dạng /home/Jamie/.ssh/id_ecdsa loại -1
debug1: key_load_public: Không có tệp hoặc thư mục như vậy
debug1: tệp nhận dạng /home/Jamie/.ssh/id_ecdsa-cert loại -1
debug1: key_load_public: Không có tệp hoặc thư mục như vậy
debug1: tệp nhận dạng /home/Jamie -1
debug1: key_load_public: Không có tập tin hoặc thư mục
debug1: sắc loại tập tin /home/Jamie/.ssh/id_ed25519-cert -1
debug1: Kích hoạt chế độ tương thích cho giao thức 2.0
debug1: phiên bản địa phương chuỗi SSH-2,0-OpenSSH_7.1
debug1 : Phiên bản giao thức từ xa 2.0, phiên bản phần mềm từ xa OpenSSH_6.6.1p1 Ubuntu-2ubfox2.6
debug1: match: OpenSSH_6.6.1p1 Ubuntu-2ubfox2.6 pat OpenSSH_6.6.1 * compat 0x04000000
debug1: Xác thực thành 127.0.122 '
debug1: SSH2_MSG_KEXINIT đã gửi
Kết nối được đóng bởi 127.0.0.1

Vì vậy, ... SSH2_MSG_KEXINIT có nghĩa là các khóa đang được trao đổi. Điều này không lâu ...

Trong trường hợp này, tôi đã xóa các khóa của mình và tạo lại chúng làm điều này trên VM. ( http://ask.xmodulo.com/sshd-error-could-not-load-host-key.html )

$ ls -al / etc / ssh / ssh key
$ sudo rm -r / etc / ssh / ssh
key
$ sudo dpkg-recfigure openssh-server

Khi các khóa của tôi được tạo lại, tôi có thể SSH vào Hộp Vagrant của mình.


0

Phá hủy máy ảo Tải lại máy
ảo
Mọi thứ đều hoạt động

Không chắc chắn tại sao nhưng rõ ràng một cái gì đó đã không tải đúng vào lần cung cấp đầu tiên.


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.