vagrantの起動時SSHワーニング
環境
- Windows 10
- Vagrant 1.8.5
- VirtualBox 5.1.4
起動時に以下のWarningが毎回出る
default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
default: Warning: Remote connection disconnect. Retrying...
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...
※VMの起動自体はしているため、SSHクライアントからパスワード認証で接続は可能
(取りあえず)対応策
1.公開鍵を作り直す
vagrantの秘密鍵を確認
以下のコマンドで秘密鍵の場所を確認
$ vagrant ssh-config
Host default
HostName 127.0.0.1
User vagrant
Port 2222
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile C:/centos/.vagrant/machines/default/virtualbox/private_key
IdentitiesOnly yes
LogLevel FATAL
秘密鍵から公開鍵を作成
ssh-keygenコマンドで再作成します。
windows環境で実行するため、Git Bashを利用。
$ ssh-keygen -yf private_key > authorized_keys
作成した公開鍵をvagrantへコピー
~/.ssh以下に存在するauthorized_keysを上記で作成した公開鍵と置き換える。
(念のためバックアップをオススメします)
2.パーミッションの確認
パーミッション設定が正しくないと接続できません。
~/.sshはパーミッション700、公開鍵は600に設定します。
[vagrant@localhost ~]$ ls -la
drwx------. 2 vagrant root 54 Aug 27 14:02 .ssh
[vagrant@localhost .ssh]$ ls -la
-rw-------. 1 vagrant vagrant 389 Aug 26 16:11 authorized_keys
設定が正しくない場合、以下のように設定$ chmod 600 authorized_keys
まとめ
- 秘密鍵の再作成
- パーミッションの確認
秘密鍵は正しい場合があるので、パーミッション設定だけでエラーが解消される場合もあります。