Vagrant VM의 SSH 기본 사항


23

다음 요구 사항을 가진 유랑 기계 (우분투 12.04)를 만들고 있습니다.

  • sudo 권한이있는 사용자에게 Vagrant를 통한 SSH 액세스

ssh-keygen호스트에서 공개 / 개인 키 (을 통해 )를 생성 하고 공개 키를 authorized_keys게스트 의 파일 로 옮겼습니다 . 그리고 암호가없는 SSH를 시도했습니다.

vagrant ssh암호 사용 SSH 키를 사용하여 입력 하는 몇 가지 사항이 있습니다 .

  • 호스트 시스템에 키 구문을 입력하여 게스트 VM에 SSH로 입력해야합니다.
  • 올바른 키 프레이즈를 입력 할 때마다 허용되지 않습니다.

다음과 같은 오류 메시지가 나타납니다.

SSH authentication failed! This is typically caused by the public/private
keypair for the SSH user not being properly set on the guest VM. Please
verify that the guest VM is setup with the proper public key, and that
the private key path for Vagrant is setup properly as well.

그런 다음 암호가없는 ssh를 시도했습니다.

vagrant ssh
vagrant@127.0.0.1's password: 

??

나는 방랑자 사용자를 설정하지 않았습니다! user@hostname내가 설정 한대로 해야하며 VirtualBox에서 VM을 부팅 할 때 작동하는지 확인할 수 있습니다.

개인 ssh 키를 사용하여 vagrant와 올바르게 작동하려면 어떻게합니까? 호스트에서해야 할 일, 게스트에서해야 할 일

최신 정보

VirtualBox에서 VM은 활성 상태이지만 다음과 같은 문제 외에도 vagrant 콘솔에서 다음 명령을 수행 할 수 없습니다 vagrant ssh.

vagrant up vagrant halt

작동하는 유일한 방랑 명령은입니다 vagrant suspend. 내가 그것을 사용하면 실제로를 통해 기계를 정지시킬 수 있습니다 vagrant halt. 출력은 다음과 같습니다.

$ vagrant halt
[default] Attempting graceful shutdown of VM...
SSH authentication failed! This is typically caused by the public/private
keypair for the SSH user not being properly set on the guest VM. Please
verify that the guest VM is setup with the proper public key, and that
the private key path for Vagrant is setup properly as well.

답변:


21

이 스레드에 오는 사람을 위해이 솔루션을 추가하고 있습니다.

먼저 호스트 시스템에서이 파일을여십시오.

$ sudo vim ~/.vagrant.d/boxes/<yourbox>/include/_Vagrantfile

config.ssh.private_key_path개인 키 파일로 설정되어 있는지 확인하십시오 . 업데이트하지 않으면

기본 암호를 가진 ssh to vagrant box

$ vagrant ssh (default pwd = ‘vagrant’]

상자에 들어가면

vagrant@lucid64:~$ sudo visudo -f .ssh/authorized_keys

이 파일에 공개 키를 추가하고 파일을 저장 한 후 상자를 종료하십시오

vagrant@lucid64:~$ exit

로컬 머신으로 돌아 가기

$ vagrant halt
$ vagrant up

이것은 나를 위해 일했다


이것에 감사드립니다-다른 사용자로 vagrant펍 / 개인 키 쌍을 사용하여 상자에 넣을 수 있다면 어떨까요? 또한 Vagrantfile에서 원하는 개인 SSH 키의 경로를 설정할 있습니까?
rhodee

2
'include'폴더를 찾을 수 없습니다. 폴더 0, 가상 상자, 4 개의 파일-box.ovf, box-disk1.vmdk, metadata.json, Vagranfile을 찾습니다. 어떤 아이디어를 어떻게해야합니까?
Darius. V

3

SSH 키 문제로 인한 것이 아니지만 동일한 문제가 발생했습니다. 컴퓨터를 시작할 때 Virtualbox가 작동하여 게스트가 정상적으로 작동했습니다. 나는 기계에 직접 SSH 할 수 있었고 vagrant ssh암호를 요구했지만 일했다. 로그인 한 후 게스트의 /var/log/auth.log에서 다음을 발견했습니다.

Feb 13 10:14:34 spaaza-dev sshd[1468]: Accepted password for vagrant from 192.168.50.1 port 61816 ssh2
Feb 13 10:14:34 spaaza-dev sshd[1468]: pam_unix(sshd:session): session opened for user vagrant by (uid=0)
Feb 13 10:14:34 spaaza-dev sshd[1636]: Received disconnect from 192.168.50.1: 11: disconnected by user
Feb 13 10:14:34 spaaza-dev sshd[1468]: pam_unix(sshd:session): session closed for user vagrant
Feb 13 10:16:44 spaaza-dev sshd[1764]: Authentication refused: bad ownership or modes for directory /home/vagrant

나는 / home / vagrant에 대한 권한을 보러 갔다.

drwxrwxrwx  6 vagrant vagrant 4096 Feb 13 10:15 vagrant

좋지 않은 일, 내가하고있는 다른 일이 실수로 / home / vagrant dir의 권한을 변경했습니다. 다음으로 문제가 해결되었습니다.

# chmod 755 vagrant

drwxr-xr-x  6 vagrant vagrant 4096 Feb 13 10:15 vagrant

그 후 나는 기계를 끄고 다시 시작했고 방랑자는 잘했다. :-)


좋은 팁. 나도해야했다chmod -R 755 /home/vagrant/.ssh
wisbucky

2

방대한 안전하지 않은 공개 키.ssh/authorized_keys게스트 상자 의 파일 에 복사 해보십시오 .

이것이 ssh 문제를 해결하기를 바랍니다.

보안을 유지하려면 자신의 .ssh / id_rsa.pub를 위에서 언급 한 파일로 복사하면됩니다. 그리고 설정

config.ssh.private_key_path = '~ / .ssh / id_rsa'

당신의 Vagrantfile에.


2

이 문제가 발생하는 모든 사람에게 적합합니다. 고치는 데 나이가 걸렸습니다. (그렇지만 수정하기 쉽다 !!) 따라서 Vagrant 문서에 따르면 작은 따옴표없이 'vagrant'인 'vagrant'사용자의 기본 비밀번호가 있습니다. 공식 웹 사이트 http://docs.vagrantup.com/v2/boxes/base.html 에서 자세한 내용을 볼 수 있습니다.


2

비슷한 문제가있었습니다. 결국 나는 그것을 해결했다.

  • Vagrant와 Virtualbox가 모두 최신 상태인지 확인
  • vagrant-vbguest플러그인 을 설치하여 VirtualBox Guest Additions가 최신인지 확인하십시오 .깃 허브 루비 젬

    vagrant plugin install vagrant-vbguest
    

0

Mac OS High Sierra에서 문제를 해결하려면 다음 단계를 따르십시오.

  1. 방랑자 5.X 버전을 사용하고 있습니다
  2. 먼저 가상 상자를 다운로드하여 설치하지 마십시오.
  3. 시스템 환경 설정-> 개인 정보로 이동하여 미국에서 다운로드 허용을 클릭하십시오.
  4. 위의 변경 사항을 잠그고 가상 상자를 설치하십시오.
  5. 가상 상자에 대한 설치 완료 메시지가 표시됩니다.
  6. 이제 터미널 유형으로 이동하십시오.
  7. 스크립트가 있으면 스크립트 실행을 시작하고 가상 상자를 다운로드하십시오. 8. '완료'메시지가 나타납니다.

  8. 가상 상자가 올바르게 설치되었는지 확인한 다음 vagrant 명령 만 실행하십시오. pkg와 함께 제공되는 설치 제거 스크립트를 실행하여 가상 상자 설치 제거 문제가 발생한 경우 다시 설치하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.