Edited at

VagrantでSSH鍵の設定 - [Authentication failure. Retrying…]の対処策

More than 3 years have passed since last update.


概要

vagrant起動時に、下記のエラーが出る場合の対処方法。

Authentication failure. Retrying…


原因・対処策

vagrant起動時に生成されるSSH秘密鍵と、OS上の公開鍵がマッチしてないのが原因なので、公開鍵を生成して、OS上にセットしなおす。


環境


  • Vagrant 1.8.1


SSH公開鍵を生成

秘密鍵から公開鍵を生成し、対象パッケージのOSの中に設置する。


1.秘密鍵を確認

$ vagrant ssh-config

(**snip**)
IdentityFile xxxx/vagrant_private_key
(**snip**)


2.公開鍵を生成

IdentityFileに表示された秘密鍵ファイルを使って、公開鍵を生成する

$ ssh-keygen -yf xxxx/vagrant_private_key > public_key

$ ls | grep public_key
public_key # 生成されたことを確認


3.ゲストOSに生成した公開鍵を設定する

ユーザーのホームディレクトリの~/.ssh/authorized_keysの中身を、先ほど生成した公開鍵に書き換える。

$ vagrant ssh

$ cd ~


vagrantユーザー以外でログインする場合は、該当ユーザーのホームディレクトリ直下に.sshディレクトリを作る。パーミッションは重要なので、下記の通りにする。

$ mkdir .ssh

$ chmod 700 .ssh
$ chmod 600 authorized_keys

生成した公開鍵に書き換える。

$ vi authorized_keys

$ exit


4.Vagrantfileに追記

$ vi Vagrantfile

# ログイン情報、鍵の設定
config.ssh.guest_port = 22
config.ssh.username = "vagrant" # vagrantユーザーでない場合は指定
config.ssh.host = "127.0.0.1"
config.ssh.private_key_path = "xxxx/vagrant_private_key"


5.Reload

$ vagrant reload

以上

[参考]

Package化したboxを使うときによく出るエラー

Vagrant で作った VM にやってはいけない2つのこと

[関連記事]

Vagrantのインストール、設定手順

Vagrantでboxファイル作成