Vagrantのboxで鍵ログインした際にdefault: Warning: Authentication failure. Retryingが出る問題を解決する

  • 16
    Like
  • 0
    Comment
More than 1 year has passed since last update.

vagrantのboxで秘密鍵でのログインができない場合

割りと躓いているので公開します。
こんなのが大量に出てきます。

default: Warning: Authentication failure. Retrying
default: Warning: Authentication failure. Retrying
default: Warning: Authentication failure. Retrying
default: Warning: Authentication failure. Retrying

box内部の鍵(~/.ssh/authorized_keys)とvagrant ssh-configした際の秘密鍵が正しくないためエラーがでるようです。

解決策

vagrant ssh-configした時にでる秘密鍵から公開鍵を作成してbox内部の~/.ssh/authorized_keysに追加すればログインできます

手順

default: Warning: Authentication failure. Retrying
default: Warning: Authentication failure. Retrying
default: Warning: Authentication failure. Retrying
default: Warning: Authentication failure. Retrying

上記が出ている最中でいいのでControl+Cを押して処理を止めます。
ホスト側でvagrant ssh-configをします。そうすると

Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile /Users/ユーザ名/.vagrant.d/insecure_private_key
  IdentitiesOnly yes
  LogLevel FATAL

のような形で出力されます。IdentityFileが秘密鍵の場所になるので、これを使って公開鍵を作ります。

ssh-keygen -yf /Users/ユーザ名/.vagrant.d/insecure_private_key > auth_key

カレントディレクトにauth_keyが生成されるので、中身をコピーします。
そして、vagrantにログインします。

vagrant ssh

そうすると、パスワードを聞かれるので、vagrantと入れます。

vagrant@127.0.0.1's password: vagrant

そのあと、

vi ~/.ssh/authorized_key

上記のファイルに先ほどコピーした中身を追記します。
そのあと、一応vagrantを再起動します。

vagrant reload

再起動が終わると、秘密鍵でログインできるようになります。