web-dev-qa-db-ja.com

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

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)UbuntuをISOイメージからインストールしたときに自分で実行する必要がなかったため、(b)Vagrantは実行後に設計されるため、 vagrant up追加設定なしですぐにVMを使用できます。

近い将来に多数の仮想マシンを作成する必要があり、Vagrantを使用してそれを実行できることを望んでいましたが、各マシンで手動でSSHを修正する必要がある場合は実行できません。

なぜこれが起こるのか、それを修正するために何ができるのか知っていますか?バグとして報告すべきですか?

9
Moshe Katz

これは、古いベースボックスのバグのようです。現在のベースボックスイメージ(2013年8月20日生成)では、ボックスが初めて起動したときにキーが自動的に作成されているように見えます。

3
Moshe Katz

ワークロード:

  • VirtualBoxで〜/ .vagrant.d/boxes/raring/box.ovfアプライアンスをインポートします

    VBoxManage import ~/.vagrant.d/boxes/raring/box.ovf
    
  • VM Nameを取得

    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/121795

5
S0me0ne

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

問題は、1回目の起動(/etc/ssh/)で、ubuntuクラウドの浮浪者イメージが(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

それが役に立てば幸い。

5
Terry Wang