Не может 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 на каждом из них.

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

1
задан 26 July 2013 в 00:39

2 ответа

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

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

В дополнение к ручному созданию ключей хоста 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

Надеюсь, что это поможет.

5
ответ дан 24 May 2018 в 19:40
  • 1
    Это временное решение, но разве мы не должны сообщать об этом как об ошибке в этом изображении? Разве все ключи не должны быть предварительно созданы? – Radek Simko 20 August 2013 в 12:11

Workaroud:

Импорт ~ / .vagrant.d / boxes / raring / box.ovf в VirtualBox
VBoxManage import ~/.vagrant.d/boxes/raring/box.ovf
Получить имя VM
VBoxManage list vms
Запустить виртуальную машину
VBoxManage startvm ubuntu-cloudimg-raring-vagrant-amd64
Включить следующую строку в /etc/rc.local (конечно, в самой виртуальной машине!):
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

Выполнено:) [ ! d16]

Также сделал ошибку: https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/1217950

5
ответ дан 24 May 2018 в 19:40

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

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