13.04 yeni Vagrant kurulumuna ssh olamaz


9

Yeni bir sanal makine oluşturmak için http://cloud-images.ubuntu.com/vagrant/raring/current/raring-server-cloudimg-i386-vagrant-disk1.box adresinden 13.04 için Vagrant resmini kullandım ve bağlanmaya çalıştım ssh kullanarak. Bununla birlikte, SSH, kimlik doğrulamaya çalıştığı sahneye bile girmeden her zaman derhal bağlantıyı kesti.

VM'yi VirtualBox GUI'de açtım ve SSH günlük dosyasına (auth.log) baktım. Bunun gibi çizgilerle doluydu:

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]

Sorun aşağıdaki komutlar uygulanarak çözüldü:

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

Bunların bir noktada otomatik olarak çalışması gerektiğini varsayabilirim, özellikle (a) Ubuntu'yu bir ISO görüntüsünden yüklediğimde kendim çalıştırmak zorunda kalmadım ve (b) çünkü Vagrant'ın siz çalıştırdıktan sonra tasarlanması gerekiyordu. vagrant upVM'yi herhangi bir ek yapılandırma olmadan hemen kullanabilirsiniz.

Yakın gelecekte çok sayıda Sanal Makine oluşturmam gerekebilir ve bunu yapmak için Vagrant'ı kullanabileceğimi umuyordum, ancak her birinde SSH'yi manuel olarak düzeltmem gerekecekse bunu yapamam.

Bunun neden olduğunu bilen var mı ve düzeltmek için ne yapılabilir? Hata olarak rapor etmeli miyim?


En son vagrantsunucunuza yüklediniz mi? Vagrant hata ayıklamasını açmaya ve hangi mutlulukları görmeye ne dersiniz? vagrant sshpub anahtarı kimlik doğrulaması için vagrant'ın güvensiz anahtar çiftini kullanır.
Terry Wang

Evet, bu en yeni vagrant. Sorunumun vagrant anahtar çifti olmadığını, SSH sunucusunun Machine anahtarının ayarlanmadığını unutmayın. SSH sunucusunda makine anahtarı yoksa, ona bağlanmanın bir yolu yoktur.
Moshe Katz

Yeni bir 12.10 VM denedim ve aynı şey oldu.
Moshe Katz

Üzgünüm, soruyu dikkatlice okumadım. Ben sshd ana anahtar kimlik doğrulaması değil ortak anahtar kimlik doğrulaması oldu. Görünüşe göre 1. önyükleme sırasında Ubuntu bulut resmi yeni ana bilgisayar anahtarları oluşturamadı (bulamıyorsa). Anahtarları oluşturmak için test -f /etc/ssh/ssh_host_dsa_key || dpkg-reconfigure openssh-serverveya ile yapılabilir ssh-keygen.
Terry Wang

Olmamalıdır test -e /etc/ssh/ssh_host_dsa_key || dpkg-reconfigure openssh-serveriçinde /etc/rc.localkomut.
Terry Wang

Yanıtlar:


5

Bu SSH ana bilgisayar anahtarı sorunudur (ortak anahtar kimlik doğrulamasıyla ilgili DEĞİLDİR).

Sorun, ubuntu bulut vagrant görüntüsünün /etc/ssh/1. önyükleme ( vagrant up) sırasında yeni ana bilgisayar anahtarlarını (orada değilse ) oluşturamadığıydı.

Moshe tarafından belirtilen SSH ana bilgisayar anahtarlarını manuel olarak oluşturmaya ek olarak

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

Ayrıca, aşağıdaki komut eklenerek de yapılabilir. /etc/rc.local

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

Umarım yardımcı olur.


1
Bu geçici bir çözüm, ancak bunu bu görüntüde bir hata olarak rapor etmemeli miyiz? Tüm anahtarlar önceden oluşturulmamış mı?
Radek Simko

5

Workaroud:

  • VirtualBox içine ~ / .vagrant.d / boxes / raring / box.ovf cihazını içe aktarın

    VBoxManage import ~/.vagrant.d/boxes/raring/box.ovf
    
  • VM Adını Alın

    VBoxManage list vms
    
  • VM'yi başlatın

    VBoxManage startvm ubuntu-cloudimg-raring-vagrant-amd64
    
  • Aşağıdaki satırı /etc/rc.local dosyasına dahil edin (Elbette VM'nin kendisinde!):

    test -f /etc/ssh/ssh_host_dsa_key || dpkg-reconfigure openssh-server
    
  • VM'yi kapatma

    sudo halt
    
  • Eski resimleri sil

    rm ~/.vagrant.d/boxes/raring/box.ovf ~/.vagrant.d/boxes/raring/box-disk1.vmdk
    
  • VM'yi .ovf biçiminde dışa aktarma

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

Tamamlandı :)

Ayrıca bir hata bildirimi yaptım: https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/1217950


3

Bu, daha eski taban kutularında bir hata gibi görünüyor. Geçerli temel kutu görüntülerinde (20 Ağustos 2013'te oluşturulur), kutu ilk kez önyüklendiğinde anahtarlar otomatik olarak oluşturulmuş gibi görünür.


Ben şu anda (tekrar) bu hata ile karşılaşıyorum ve @ S0me0ne hata raporu diğer insanların da olduğu gibi görünüyor. / Etc / ssh dosyasında anahtar dosyaların olmadığını doğruladım. Bu 24 Eylül resimlerini kullanıyordu.
malvim

Tamam, eksik anahtarları doğru bir şekilde oluşturan başka bir "toplu iş" (28 Eylül 2013'ten itibaren) çıkardılar. VBoxManage kullanarak kutuları içe aktararak doğrulamak mümkün. Garip, "vagrant up" kullandığımda, dosyalar orada değil! Doğrudan VB'ye aktarma ve vagrant kullanma arasında bir fark var mı?
malvim
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.