Vagrant1.8.5とVirtualBox5.1.2でローカル開発環境を作るときにハマった話
2016/08/09 21:40
  • Vagrantが流行っているので(いまさら)個人的にちょっと試してみたものの、まんまとハマりましたよ、というお話です。

    実は仕事でも使ってはいるものの、メンバーが作ってくれた環境だし、僕自身にノウハウがあったわけではありませんでした。
    今回はやっとノウハウ的なものが出てきたので共有します。

    今回の環境

    今回は以下の環境の元、VagrantVMの構築にとりかかりました。

    Host OS: mac OS X EI Capitan
    Vagrant: 1.8.5
    VirtualBox: 5.1.2
    

    Vagrantファイル

    Vagrantについてとかは一切合切端折ります。よくわからない人は適当にググッてください。笑

    # -*- mode: ruby -*-
    # vi: set ft=ruby :
    
    Vagrant.configure(2) do |config|
    
      config.vm.box = "bento/centos-6.7"
      config.vm.hostname = "vm"
      config.vm.network "forwarded_port", guest: 80, host: 3030, auto_correct: true
      config.vm.network "forwarded_port", guest: 3306, host: 3036, auto_correct: true
      config.vm.network "private_network", ip: "192.168.10.10"
      config.vm.network "public_network", bridge: "", ip: "192.168.254.300"
      config.vm.synced_folder "sync/", "/var/www/html/sync"
      config.vm.synced_folder ".", "~/sync", disabled: true
      config.vm.provider "virtualbox" do |vb|
        vb.memory = "512"
      end
    end
    

    まぁだいたいこんな感じの設定ファイルです。そんな変わったことはしていません。


    Authentication failure. Retrying...

    SSH接続の鍵認証をするときに以下のエラーが出て死亡しました。

    $ vagrant up
    ...
    ...
    ...
    ...
    default: Removing insecure key from the guest if it's present...
    default: Key inserted! Disconnecting and reconnecting using new SSH key...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
    

    どうやら鍵認証を失敗しています。この時点でVMは立ち上がっているので、PAM認証はできますが。。

    解決編

    以下の記事に答えがありました。。大変参考になりました。ありがとうございます!

    Vagrant 1.8.5でLinux boxをvagrant upするとエラーが出る件について

    どうやらVagrantのバグのようです。authorized_keysのパーミッション変更漏れとか、泣けてきます。

    まずどこにインストールされてるかわからないので locate コマンドでチートします。

    $ locate public_key.rb |grep linux
    /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/plugins/guests/linux/cap/public_key.rb
    

    locateコマンドを実行したことがない人は、先にupdatedbコマンドを叩いてリストを作る必要がありますー。

    mac の場合は以下。

    $ sudo /usr/libexec/locate.updatedb
    

    さて、これで該当ファイルがわかったので、該当箇所に

    chmod 0600 ~/.ssh/authorized_keys
    

    上記を追加してVagrantを再起動してあげればOKです。
    $ vagrant reload
    

    思いの外長くなったので、今回はここまで。。。
    次回、共有フォルダのマウントについて書きたいと思いますー。

    人気ブログランキングへ ブログランキング・にほんブログ村へ
    ↑応援よろしくお願いします!m(_ _)m

  • <2016/08/09 21:15>
  • サーバー
  • VagrantVMVirtualBOXサーバーローカル環境エラー
  • 新しい記事へ
    [Django] restframework + oauth-toolkitでハマった話

    古い記事へ
    画像アップロードのテスト

profile picture

自己紹介的な何か

@wkmettyでついったーやってます。時々。 6年間勤めたゲーム会社を2018年2月に退職しフリーランスのプログラマに。 WordPress Core, WP-CLI コントリビューター。 お仕事募集中です。