LoginSignup
3
3

More than 5 years have passed since last update.

OSX Vagrant 1.8.5 authorized_keys Permission 不具合 issues#7610 を patchコマンド で 解決する(メモ)

Last updated at Posted at 2016-09-06

OSX Vagrant 1.8.5 authorized_keys Permission 不具合 issues#7610 を patchコマンド で 解決する(メモ)

OSX Yosemite上で利用しているVagrantを現時点(2016/09/06)での最新版である1.8.5にバージョンアップしました。
2ヶ月くらい前からの話なので今更かもしれませんが、
噂通り? Vagrant up時に認証エラーとなる
authorized_keysのPermissionに関する不具合にあたりました。

ワークアラウンドは幾つか出ており、次期バージョン(そろそろ出る?)では解決すると思いますが、
既にGithub上でISSUES#7610として出ており、Bugfix済みでCloseもされていますので
今回は、Githubからパッチファイルをダウンロードpatchコマンドを利用して解決してみました。
なお、自分用メモも兼ねて記事にしています。

Githubよりパッチファイルをダウンロード

GithubではCommitのURLの拡張子を.patchとすると
パッチファイル(差分形式のテキスト)の形式でダウンロード可能です。

今回のCommitのURLは以下のなので
https://github.com/mitchellh/vagrant/commit/a6760dd8e7743e048cb2f38c474e05889356e8ac

このように.pacthを末尾に付加するとパッチファイル(差分形式のテキスト)の形式で返してくれます。
https://github.com/mitchellh/vagrant/commit/a6760dd8e7743e048cb2f38c474e05889356e8ac.patch

patchコマンド

patchコマンドを使うとパッチファイル(差分形式のテキスト)を利用して、簡単にパッチを当てることが可能です。
今回は対象ファイルが1つなので、直接指定する形をとります。
patch パッチ宛先ファイルのパス < patchファイルのパス

なお、OSX Yosemiteでの、今回のパッチ宛先ファイルのパスは/opt/vagrant/embedded/gems/gems/vagrant-1.8.5/plugins/guests/linux/cap/public_key.rbとなります。

手順

OSX上でVagrant1.8.5のISSUES#7610
以下手順でパッチをあてます。

# 1.patch用にディレクトリを新規作成し移動します
mkdir patch
cd patch

# 2.Github上から該当のissues#7610のパッチファイルを取得します
wget https://github.com/mitchellh/vagrant/commit/a6760dd8e7743e048cb2f38c474e05889356e8ac.patch

# 3.patch コマンドを利用して取得したpatchを適用します
sudo patch /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/plugins/guests/linux/cap/public_key.rb < a6760dd8e7743e048cb2f38c474e05889356e8ac.patch

# 4.patchが適用されていることを確認します
sed -n 57p /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/plugins/guests/linux/cap/public_key.rb

参考

以下実行結果です。

~ $vagrant -v
Vagrant 1.8.5
~ $mkdir pacth
~ $cd patch
patch $
patch $wget https://github.com/mitchellh/vagrant/commit/a6760dd8e7743e048cb2f38c474e05889356e8ac.patch
--2016-09-06 14:55:47--  https://github.com/mitchellh/vagrant/commit/a6760dd8e7743e048cb2f38c474e05889356e8ac.patch
Resolving github.com... 192.30.253.113
Connecting to github.com|192.30.253.113|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/plain]
Saving to: 'a6760dd8e7743e048cb2f38c474e05889356e8ac.patch'

a6760dd8e7743e048cb2f38c474e05889356e     [ <=>                                                                     ]     863  --.-KB/s   in 0s     

2016-09-06 14:55:49 (31.7 MB/s) - 'a6760dd8e7743e048cb2f38c474e05889356e8ac.patch' saved [863]

patch $sudo patch /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/plugins/guests/linux/cap/public_key.rb < a6760dd8e7743e048cb2f38c474e05889356e8ac.patch
Password:
patching file /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/plugins/guests/linux/cap/public_key.rb
patch $sed -n 57p /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/plugins/guests/linux/cap/public_key.rb
              chmod 0600 ~/.ssh/authorized_keys
patch $
3
3
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3