13.04의 새로운 Vagrant 설치로 전환 할 수 없습니다


9

http://cloud-images.ubuntu.com/vagrant/raring/current/raring-server-cloudimg-i386-vagrant-disk1.box 에서 13.04의 Vagrant 이미지 를 사용하여 새 가상 머신을 만들고 연결하려고했습니다. ssh를 사용합니다. 그러나 SSH는 인증을 시도한 단계에 도달하지 않아도 항상 즉시 연결이 끊어졌습니다.

VirtualBox GUI에서 VM을 열고 SSH 로그 파일 (auth.log)을 확인했습니다. 다음과 같은 줄로 가득했습니다.

Jul 25 17:57:02 vagrant-ubuntu-raring-32 sshd[898]: error: Could not load host key: /etc/ssh/ssh_host_rsa_key
Jul 25 17:57:02 vagrant-ubuntu-raring-32 sshd[898]: error: Could not load host key: /etc/ssh/ssh_host_dsa_key
Jul 25 17:57:02 vagrant-ubuntu-raring-32 sshd[898]: error: Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Jul 25 17:57:02 vagrant-ubuntu-raring-32 sshd[898]: fatal: No supported key exchange algorithms [preauth]

다음 명령을 실행하여 문제를 해결했습니다.

sudo ssh-keygen -f /etc/ssh/ssh_host_ecdsa_key -N '' -t ecdsa
sudo ssh-keygen -f /etc/ssh/ssh_host_dsa_key -N '' -t dsa
sudo ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N '' -t rsa

나는 (a) ISO 이미지에서 Ubuntu를 설치할 때 직접 실행할 필요가 없으며 (b) Vagrant는 실행 한 후에 디자인되도록되어 있기 때문에 특정 시점에서 자동으로 실행되어야한다고 가정합니다. vagrant up추가 구성없이 즉시 VM을 사용할 수 있습니다.

가까운 시일 내에 많은 수의 가상 머신을 만들어야 할 수도 있고 Vagrant를 사용하여 가상 머신을 만들 수 있기를 바랐지만 SSH를 수동으로 수정해야 할 경우에는 사용할 수 없습니다.

왜 이런 일이 발생하고 그것을 해결하기 위해 무엇을 할 수 있는지 알고 있습니까? 버그로 신고해야합니까?


vagrant호스트에 최신을 설치 했습니까 ? 방랑 디버그를 켜고 어떤 일이 일어 났는지 확인하는 것은 어떻습니까? vagrant ssh술집 키 인증에 방랑자의 안전하지 않은 키 쌍을 사용합니다.
Terry Wang

그렇습니다, 이것은 가장 최근의 방랑자입니다. 내 문제는 방랑 한 키 쌍이 아니며 SSH 서버의 시스템 키가 설정되지 않은 것입니다. SSH 서버에 머신 키가 없으면 연결할 수 없습니다.
Moshe Katz

방금 새로운 12.10 VM을 시도했지만 동일한 일이 발생했습니다.
Moshe Katz

죄송합니다. 질문을주의 깊게 읽지 않았습니다. 공개 키 인증이 아닌 sshd 호스트 키 문제였습니다. 첫 번째 부팅 중에 Ubuntu 클라우드 이미지가 새 호스트 키를 생성하지 못한 것 같습니다 (찾을 수없는 경우). 키를 생성하기 위해 또는를 test -f /etc/ssh/ssh_host_dsa_key || dpkg-reconfigure openssh-server사용하여 수행 할 수 있습니다 ssh-keygen.
Terry Wang

이 있어야 test -e /etc/ssh/ssh_host_dsa_key || dpkg-reconfigure openssh-server에서 /etc/rc.local스크립트를 실행합니다.
Terry Wang

답변:


5

이것은 SSH 호스트 키 문제입니다 (공개 키 인증과 관련이 없음).

문제는 우분투 클라우드 vagrant 이미지가 /etc/ssh/첫 번째 부팅 ( vagrant up) 동안 새 호스트 키가없는 경우 새 호스트 키를 생성하지 못하는 것 같습니다 .

Moshe가 언급 한 SSH 호스트 키를 수동으로 생성하는 것 외에도

sudo ssh-keygen -f /etc/ssh/ssh_host_ecdsa_key -N '' -t ecdsa
sudo ssh-keygen -f /etc/ssh/ssh_host_dsa_key -N '' -t dsa
sudo ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N '' -t rsa

에 다음 명령을 추가하여 수행 할 수도 있습니다. /etc/rc.local

test -f /etc/ssh/ssh_host_dsa_key || dpkg-reconfigure openssh-server

도움이 되길 바랍니다.


1
임시 해결책이지만 이미지 내에서 버그로보고해서는 안됩니까? 모든 키가 이미 사전 생성되어 있지 않아야합니까?
Radek Simko

5

워 라우드 :

  • VirtualBox에서 ~ / .vagrant.d / boxes / raring / box.ovf 어플라이언스 가져 오기

    VBoxManage import ~/.vagrant.d/boxes/raring/box.ovf
    
  • VM 이름 얻기

    VBoxManage list vms
    
  • VM 시작

    VBoxManage startvm ubuntu-cloudimg-raring-vagrant-amd64
    
  • /etc/rc.local에 다음 줄을 포함하십시오 (물론 VM 자체에 있습니다!) :

    test -f /etc/ssh/ssh_host_dsa_key || dpkg-reconfigure openssh-server
    
  • VM 종료

    sudo halt
    
  • 오래된 이미지 삭제

    rm ~/.vagrant.d/boxes/raring/box.ovf ~/.vagrant.d/boxes/raring/box-disk1.vmdk
    
  • .ovf 형식으로 VM 내보내기

    VBoxManage export ubuntu-cloudimg-raring-vagrant-amd64 --output ~/.vagrant.d/boxes/raring/box.ovf
    

완료 :)

또한 버그 리포트를 보았습니다 : https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/1217950


3

이것은 이전 기본 상자의 버그 인 것으로 보입니다. 2013 년 8 월 20 일에 생성 된 현재 기본 상자 이미지에서 상자를 처음 부팅하면 키가 자동으로 생성 된 것으로 나타납니다.


나는이 버그 (다시)를 겪고 있으며, 다른 사람들도 @ S0me0ne의 버그 보고서에 의해 보인다. / etc / ssh에서 키 파일이없는 것을 확인했습니다. 이것은 9 월 24 일 이미지를 사용하고있었습니다.
malvim

자, 그들은 누락 된 키를 올바르게 생성하는 또 다른 "일괄 처리"시스템 (2013 년 9 월 28 일부터)을 출시했습니다. VBoxManage를 사용하여 상자를 가져 와서 확인할 수있었습니다. 이상하게도, "vagrant up"을 사용하면 파일이 없습니다! VB로 직접 가져 오는 것과 방랑자를 사용하는 것에는 차이가 있습니까?
malvim
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.