ytooyamaのブログ

サーバ構築とか、仕事で発見したこととか、趣味のこととかを書いています。

Vagrant 1.8.5のSSH Authentication failure問題を修正してみました

以前書いた件、

ytooyama.hatenadiary.jp

この問題がフィックスされるVagrant 1.8.6のリリースを待っていたのですが、1ヶ月経ってもリリースされる様子がないので自分でコードを修正することにしました。下記を参考にしました。

oki2a24.com

まず、該当のファイルですがsudo find / -name public_key.rbで確認しました。どうやら次のパスにあるようです。見つけたらCTRL+Cでfindコマンドを中止します。

$ sudo find / -name public_key.rb
Password:
find: /dev/fd/ytooyama: No such file or directory
find: /dev/fd/ytooyama: No such file or directory
/opt/vagrant/embedded/gems/gems/vagrant-1.8.5/plugins/guests/bsd/cap/public_key.rb
/opt/vagrant/embedded/gems/gems/vagrant-1.8.5/plugins/guests/linux/cap/public_key.rb ←これ
...

該当のバグは下記の部分です。

github.com

該当のファイルをviコマンドで開きます。

$ sudo vi /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/plugins/guests/linux/cap/public_key.rb

ファイルが開かれたら:set nuと入力してEnterキーを押します。すると左側に行番号が表示されます。 56行目でiキーを押して挿入モードにしたら該当の文字列chmod 0600 ~/.ssh/authorized_keysを追記して:wqを入力して保存、終了します。これでLinuxにおけるSSH Authentication failure問題を解決できます。

f:id:ytooyama:20160827215823p:plain

この修正により、晴れてVirtualBoxの5.1が利用できます(Vagrant 1.8.5でVirtualBox 5.1.xに対応したため)。また、Vagrant 1.8.5で修正されたバグも修正済みの環境にすることができます。

ちなみにVagrantVirtualBoxのChange logを貼っておきます。