Не могу ssh в новую Vagrant установить 13.04

Я использовал образ Vagrant для 13.04 из http://cloud-images.ubuntu.com/vagrant/raring/current/raring-server-cloudimg-i386-vagrant-disk1.box для создания новую виртуальную машину и попытался подключиться к ней с помощью ssh. Тем не менее, SSH всегда отключался немедленно, даже не доходя до стадии, на которой он пытался аутентифицироваться.

Я открыл виртуальную машину в графическом интерфейсе VirtualBox и посмотрел файл журнала 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

Я бы предположил, что они должны запускаться автоматически в какой-то момент, особенно учитывая что (а) мне не нужно было запускать их самостоятельно, когда я установил Ubuntu из ISO-образа, и (б) потому, что предполагается, что Vagrant спроектирован так, что после запуска vagrant up вы можете сразу использовать ВМ без какой-либо дополнительной настройки.

Мне может понадобиться создать большое количество виртуальных машин в ближайшем будущем, и я надеялся, что смогу использовать Vagrant, но не смогу, если мне придется вручную исправить SSH на каждый.

Кто-нибудь знает, почему это происходит и что можно сделать, чтобы это исправить? Должен ли я сообщить об этом как об ошибке?

9
задан 25 July 2013 в 23:39

3 ответа

Это - проблема ключа хоста SSH (НЕ связанный с аутентификацией с открытым ключом).

Похож на проблему, был то, что облачному изображению бродяги человечности не удалось генерировать новые ключи хоста (если они не находятся там в /etc/ssh/) во время 1-й начальной загрузки (vagrant up).

В дополнение к вручную генерируют ключи хоста SSH, упомянутые Moshe

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

Надежда это помогает.

5
ответ дан 25 July 2013 в 23:39

Workaroud:

  • Импортируйте ~/.vagrant.d/boxes/raring/box.ovf устройство в VirtualBox

    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
    
  • Экспортируйте VM в .ovf формате

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

Сделанный :)

Сделал также bugreport: https://bugs.launchpad.net/ubuntu / + source/cloud-init / + ошибка/1217950

5
ответ дан 25 July 2013 в 23:39

Похоже, что это была ошибка в старых базовых коробках. На текущих изображениях базового блока (сгенерировано 20 августа 2013 г.) ключи создаются автоматически при первой загрузке блока.

0
ответ дан 25 July 2013 в 23:39

Другие вопросы по тегам:

Похожие вопросы: