VirtualBox에서 Vagrant ssh가 실패 함


39

ssh 부분에 도달하면 vagrant up이 실패합니다.

myterminal$ vagrant up
[default] VM already created. Booting if its not already running...
[default] Running any VM customizations...
[default] Clearing any previously set forwarded ports...
[default] Forwarding ports...
[default] -- ssh: 22 => 2222 (adapter 1)
[default] -- db2: 30003 => 30003 (adapter 1)
[default] Cleaning previously set shared folders...
[default] Creating shared folders metadata...
[default] Booting VM...
[default] Waiting for VM to boot. This can take a few minutes.
[default] Failed to connect to VM!
Failed to connect to VM via SSH. Please verify the VM successfully booted
by looking at the VirtualBox GUI.

그런 다음 vagrant ssh 또는 vagrant reload 또는 이와 유사한 것을 사용하여 연결하려고하면 다음과 같이됩니다.

myterminal$ vagrant reload
[default] Attempting graceful shutdown of linux...
SSH connection was refused! This usually happens if the VM failed to
boot properly. Some steps to try to fix this: First, try reloading your
VM with `vagrant reload`, since a simple restart sometimes fixes things.
If that doesn't work, destroy your VM and recreate it with a `vagrant destroy`
followed by a `vagrant up`. If that doesn't work, contact a Vagrant
maintainer (support channels listed on the website) for more assistance.

도와주세요! 나는 정말로 충격을 받았다.

친절하다,

누가

답변:


10

내 설정 에서이 문제를보고 결국 로컬 호스트 파일에 이름을 추가했다는 사실로 좁혔습니다. 그래서 나는 가지고 있었다 :

127.0.0.1 localhost myname myalias

myalias내가 추가 한 것을 제거하고 정상적으로 부팅했습니다. 네트워킹과 관련된 단서에 대한 @saphirlazuli에게 감사합니다.


필립스를 유지하려면 해결 방법은 무엇입니까?
Mickey Cheong

별명을 사용하려면 데비안 / 우분투 방법은 첫 번째 줄을 그대로 유지 127.0.0.1 localhost하지만 다음과 같이 별명을 가진 두 번째 줄을 추가하십시오.127.0.1.1 foo bar baz
CodeGnome

26

Vagrant 사이트의 "시작하기"에 나와있는 상자와 동일한 문제가있었습니다. 아래 내 솔루션은이 자습서 상자입니다.

여기에 해결책이 있습니다 : https://github.com/mitchellh/vagrant/issues/391

  1. VagrantFile에서 gui 모드를 추가하십시오. config.vm.boot_mode = :gui
  2. 운영 vagrant up
  3. GUI에서 사용자 "vagrant"(비밀번호 = "vagrant")로 로그인하십시오.
  4. GUI에서 실행 sudo /etc/init.d/networking restart하고 /etc/network/interfaces파일에서 이제 섹션이 있어야합니다.#VAGRANT-BEGIN [...]#VAGRANT-END
  5. vagrant reload실제 머신에서 실행

3
이것은 나를 위해 일했습니다. 감사합니다. 나는 Vagrant를 전에 달렸고 새로운 상자로 작업을 중단했습니다. 어떤 원인으로 생각하십니까?
Andrew Vit

sudo /etc/init.d/networking restart 가 저에게 효과적입니다. 감사합니다!
Anatoly

2
다시 시작했지만 / etc / network / interfaces에서 # VAGRANT-BEGIN [...] # VAGRANT-END 섹션이없는 이유는 무엇입니까? 수동으로 추가 할 수 있습니까?
sparrovv

1
나는The following settings shouldn't exist: boot_mode
Calin

1
최신 버전에서는 공급자 설정에 v.gui = true를 입력해야합니다.
Calin

6

이것은 간헐적 인 문제이며 네트워킹과 관련이있는 것 같습니다. Vagrant GitHub 문제 # 391# 455 에서 더 유용한 정보를 찾았습니다 . 도움이되지 않은 VirtualBox 설정 (GitHub 문제 중 하나의 잠재적 수정으로 권장 됨)에서 사용하지 않는 호스트 전용 네트워크를 삭제하려고했습니다.

GUI 모드에서 시작하면 (이전 답변에서 설명한대로) 문제를 디버그 / 수정하는 좋은 방법입니다. 어떤 이유로 든 VM이 시작시 IP 주소를 얻을 수 없기 때문입니다. GUI 모드에서 시작한 후 로그인 (vagrant / vagrant)하고 sudo dhclient게스트 OS에서 실행 하면 IP 주소가 검색되고 Vagrant 설정 프로세스가 성공적으로 완료됩니다.

그래도 여전히 영구적 인 수정을 찾고 있습니다.

도움이 되었기를 바랍니다!

[EDITED TO의 ADD] : 도움이되는 제안이 추가되었습니다 GitHub의 이슈 # 455 사용자에 다음 설정을 추가 포함한다 Vagrantfile:

config.ssh.max_tries = 150

이것은 현재 저에게 효과적이며 문제가 시간 초과와 관련이있는 것으로 보이므로 의미가있는 것 같습니다. 시도를 늘리면 SSH 프로세스가 시간 내에 성공할 확률이 높아집니다. 처음에는 간헐적 인 문제이므로 잠시 동안 판단을 내릴 수 있지만 손가락이 통과하면 작동합니다! 수정 사항을 제안 해 주신 karel1980에게 감사드립니다.


VirtualBox 설정에서 사용하지 않는 호스트 전용 네트워크를 삭제하면 나에게 도움이되었습니다! 감사합니다!
Duke

1
-이 설정이 1.3.x 버전의로 depricated 된 것으로 보인다 github.com/berkshelf/berkshelf/pull/856
제레미 HAJEK에게

5

경우 vagrant up에 실패, 나는 다음을 권장합니다 :

  1. GUI 모드로 부팅 : 이미지가 깨 졌는지 (또는 예를 들어 프로비저닝을 시작하기 전에 수행하는 작업) 설정 config.vm.boot_mode = :gui되어 있는지 확인하는 데 도움이됩니다.Vagrantfile
  2. 디버그 로깅은 다음과 프로비저닝 실행할 디버그 ,chef.log_level = :debug
  3. 상자를 다시 포장하십시오 : 때로는 부트 스트 래퍼를 부트 스트랩하기 위해 다른 모든 것이 실행되기 전에 무언가를 설치해야합니다. 실제로는 불가능하므로 가장 쉬운 방법은 프로비저닝없이 vm을 부팅하고 필요한 것을 설치 vagrant box repackage foo한 후 상자를 다시 패키지화 한 다음 ( ) 상자에 패키지 vagrant import foo를 추가 foo하는 것 Vagrantfile입니다.

참고 : GUI 모드에는 다른 문제 0.7.5가있을 수 있습니다. 그래도 실제 상자를 디버깅하는 것이 좋습니다.


2

네트워크 카드 유형은 원래로 설정되었습니다 82540EM. 나는 그것을 바꿨다. Am79C973그리고 지금 Vagrant up은 매번 작동한다. 여러 VM을 시작했으며 호스트를 재부팅해도 여전히 작동합니다.

명령은 다음과 같습니다.

VBoxManage modifyvm yourmachinename --nictype1 Am79C973

상자를 재 포장하고 상자를 Vagrant에 읽어주십시오.

Core i7-2600 시스템에서 VirtualBox 4.1.16을 사용하여 호스트 및 게스트로 Debian Squeeze 64 비트를 실행하고 있습니다.


1

커널 모듈이 이미 설치되어 있으면 VirtualBox를 사용하여 VM을 직접 시작해보십시오. VM 부팅시 발생하는 시작 오류가 표시됩니다. 파일 시스템 오류와 같은 문제는 SSH 서버 데몬이 올바르게 작동하지 못하게합니다.


1

나는 osx (VirtualBox 4.1.0과 Vagrant 0.8.6)에 대해 같은 문제가 있었고, 유일한 도움은 다음과 같습니다.

  1. 로그인 / 패스로 : gui로 로그인 : vagrant / vagrant
  2. “exit 0”바로 앞에“sh /etc/init.d/networking restart”행을 포함하도록“/etc/rc.local”파일을 수정하십시오.
  3. 비활성화 : gui
  4. 방랑자 재 장전

나는 이것을 https://github.com/mitchellh/vagrant/issues/391 thx mikhailov 에서 찾았 습니다.


1

나는이 같은 문제가 있었다. 필자의 경우 64 비트 에뮬레이션이 활성화되지 않았습니다. 내 BIOS에서이 기능을 활성화하면 문제가 해결되었습니다.


1

디스크 문제로 인해 게스트 박스가 제대로 부팅되지 않습니다.

VM을 통해 강제로 닫았습니다.

VBoxManage controlvm 전원 끄기

그런 다음 Vagrantfile이 줄을 포함 하도록 수정했습니다 .

config.vm.boot_mode = : gui

다음으로, 나는 다시 ran

방랑하다

팝업 된 GUI에서 'disk fixer'유틸리티를 실행해야했습니다.

디스크 유틸리티를 실행 한 후 내 VM이 성공적으로 부팅 된 후 실행할 수 있습니다 vagrant ssh.


1

나는 다음과 같이 Vagrantfile의 부분을 주석 처리하지 않았습니다.

  config.vm.provider :virtualbox do |vb|
    # Don't boot with headless mode
    vb.gui = true

    # Use VBoxManage to customize the VM. For example to change memory:
    # vb.customize ["modifyvm", :id, "--memory", "1024"]
  end

나는 그것을 저장 한 다음했다

vagrant reload

그런 다음 문제가 해결되었습니다. 왜 그 문제가 해결되었는지 잘 모르겠습니다.


0

을 입력하십시오 sudo /etc/init.d/vboxdrv setup. 이제 작동합니다.


0

내 문제는

/etc/hosts

나는 입장했다

127.0.1.1 lucid32

내 상자 이름이 lucidtest인 곳으로 위의 줄을

127.0.1.1 lucidtest

그리고 효과가있었습니다.


0

이 메시지는 ssh 서버가 VM에서 실행되고 있지 않음을 나타냅니다. 설치되어 있는지 확인하십시오

sudo apt-get install openssh-server

그리고 달리기

ssh localhost

오류가 발생하지 않아야합니다.

vagrant 내의 오류를 제외하려면 다음을 통해 ssh를 vm에 직접 시도해야합니다.

ssh vagrant @ localhost -p2222

(기본 사용자 및 포트 전달 가정)


0

Windows 7에서

vagrant ssh

이런 식으로 뭔가를 얻는다면 ...

`vagrant ssh` isn't available on the Windows platform. You are still able
to SSH into the virtual machine if you get a Windows SSH client (such as
PuTTY). The authentication information is shown below:

Host: 127.0.0.1
Port: 2222
Username: vagrant
Private key: U:/.vagrant.d/insecure_private_key

그런 다음 이와 같은 것을 사용해야합니다 ...

ssh vagrant@127.0.0.1 -p 2222 -i /cygdrive/u/.vagrant.d/insecure_private_key

Putty가 아닌 windows 상자에서 cygwin을 사용하고 있습니다.


영업 이익은 윈도우 7 사용하지 않는
태너 포크너

r.tanner.f-감사합니다. OS를 지정하지 않았습니다. 도움이 되었으면 좋겠습니다.
Artistan

왜 당신이 다운 봇을했는지 모릅니다. 이것은 다른 사람들에게 도움이 될 것 같습니다
Mark

0

오류의 또 다른 이유 는 다음과 같습니다 .

[default] Waiting for VM to boot. This can take a few minutes.
[default] Failed to connect to VM!
Failed to connect to VM via SSH. Please verify the VM successfully booted
by looking at the VirtualBox GUI.

다음과 같이 구성 파일에서 사용자 이름을 지정할 수 있습니다.

config.ssh.username = "badusername"

해당 사용자 이름이 존재하지 않거나 어떤 이유로 로그인 할 수없는 경우 귀 하나 Vagrant는 모두 VM에 SSH로 접속할 수 없습니다. 따라서 Vagrant는 VM이 ​​실제로 실행되고 제대로 작동하더라도 "연결에 실패합니다".


0

내 문제는 vagrant ssh전혀 아무것도하지 않을 것이라는 것이 었습니다.

나는 제거 ~/.ssh/config하고 문제가 해결되었습니다. 파일을 다른 곳에 복사하거나 보관하려면 이름을 바꾸십시오.


로컬 또는 원격 시스템에서?
Jeremy Hajek

0

다른 사람들과 마찬가지로 GUI를 사용했습니다 (항상 이와 같은 문제를 방지하기 위해 이것을 사용합니다)

config.vm.boot_mode = :gui

그런 다음 여기 명령이 작동하지 않으므로 VirtualBox 메뉴를 사용했습니다. 메뉴에서 Machine> Reset을 선택한 다음 ssh가 가능했습니다.


0

실행중인 VM을 종료하고 새로운베이스 박스를 만들었습니다.

  1. 내보내려는 VM 종료
  2. vagrant package --base "salt-master basebox" --vagrantfile ./Vagrantfile
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.