13.04の新しいVagrantインストールにSSH接続できません


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 2013

新しい12.10 VMを試したところ、同じことが起こりました。
Moshe Katz 2013

質問をよく読みませんでした。公開鍵認証ではなく、sshdホスト鍵の問題でした。最初の起動時にUbuntuクラウドイメージが新しいホストキーを生成できなかったようです(見つからない場合)。これはtest -f /etc/ssh/ssh_host_dsa_key || dpkg-reconfigure openssh-serverssh-keygenを使用するか、を使用してキーを生成できます。
Terry Wang

スクリプトにある必要がtest -e /etc/ssh/ssh_host_dsa_key || dpkg-reconfigure openssh-serverあり/etc/rc.localます。
Terry Wang

回答:


5

これは、SSHホストキーの問題です(公開キー認証とは関係ありません)。

問題は、ubuntuクラウドバグラントイメージが/etc/ssh/、1回目の起動中に新しいホストキーを生成できなかったようです(それらがに存在しない場合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

Workaroud:

  • 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
    
  • VMを.ovf形式でエクスポートする

    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

さて、彼らは不足しているキーを正しく作成するマシンの別の「バッチ」をリリースしました(2013年9月28日から)。VBoxManageを使用してボックスをインポートすることで、それを確認できました。奇妙なことに、「vagrant up」を使用すると、ファイルがそこにありません!VBへの直接インポートとvagrantの使用に違いはありますか?
malvim 2013
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.