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を修正する必要がある場合は実行できません。
なぜこれが起こるのか、それを修正するために何ができるのか知っていますか?バグとして報告する必要がありますか?
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
は、公開キー認証に浮浪者の安全でないキーペアを使用します。