Я використовував зображення Vagrant за 13.04 від http://cloud-images.ubuntu.com/vagrant/raring/current/raring-server-cloudimg-i386-vagrant-disk1.box, щоб створити нову віртуальну машину і спробував підключитися до це за допомогою ssh. Однак SSH завжди відключався негайно, навіть не дійшовши до етапу, де він намагався пройти автентифікацію.
Я відкрив VM в GUI 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
Я б припускав, що вони повинні запускатися автоматично в якийсь момент, особливо зважаючи на те, що: (a) я не повинен був сам запускати їх, коли я встановлював Ubuntu з зображення ISO, і (b) тому, що Vagrant повинен бути розроблений, що після запуску vagrant up
Ви можете негайно використовувати VM без додаткової конфігурації.
Можливо, мені доведеться створити велику кількість віртуальних машин найближчим часом, і я сподівався, що зможу це зробити Vagrant, але не можу це зробити, якщо мені доведеться вручну виправити SSH на кожному.
Хтось знає, чому це відбувається і що можна зробити, щоб це виправити? Чи слід повідомити про це як про помилку?
test -f /etc/ssh/ssh_host_dsa_key || dpkg-reconfigure openssh-server
або використовувати ssh-keygen
для створення ключів.
test -e /etc/ssh/ssh_host_dsa_key || dpkg-reconfigure openssh-server
в /etc/rc.local
сценарії.
vagrant
на своєму хості? Як щодо включення бродячої налагодження і подивитися, що щасливе?vagrant ssh
використовує незахищенний ключ ключа для аутентифікації ключів паб.