Vagrant ssh authentication failure
The problem with ssh authentication:
==> default: Clearing any previously set forwarded ports... ==> default: Clearing any previously set network interfaces... ==> default: Preparing network interfaces based on configuration... default: Adapter 1: nat default: Adapter 2: bridged ==> default: Forwarding ports... default: 22 => 2222 (adapter 1) ==> default: Booting VM... ==> 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: Error: Connection timeout. Retrying... default: Error: Connection timeout. Retrying... default: Error: Connection timeout. Retrying... default: Error: Connection timeout. Retrying... default: Error: Authentication failure. Retrying... default: Error: Authentication failure. Retrying... default: Error: Authentication failure. Retrying... default: Error: Authentication failure. Retrying... default: Error: Authentication failure. Retrying...
I can Ctrl+C
out of the authentication loop and then successfully ssh in manually.
I performed the following steps on the guest box:
Enabled
Remote Login
forAll Users
.Created the
~/.ssh
directory with0700
permissions.Created the
~/.ssh/authorized_keys
file with0600
permissions.Pasted this public key into
~/.ssh/authorized_keys
I've also tried using a private (hostonly) network instead of the public (bridged) network, using this line in the Vagrantfile:
config.vm.network "private_network", ip: "172.16.177.7"
I get the same output (except Adapter 2: hostonly
) but then cannot ssh in manually.
I also tried config.vm.network "private_network", ip: "10.0.0.100"
.
I also tried setting config.ssh.password
in the Vagrantfile. This does output SSH auth method: password
but still doesn't authenticate.
And I also tried rebuilding the box and rechecking all the above.
It looks like others have had success with this configuration, so there must be something I'm doing wrong.
I found this thread and enabled the GUI, but that doesn't help.
Make sure your first network interface is NAT. The other second network interface can be anything you want when you're building box. Don't forget the Vagrant user, as discussed in the Google thread.
Good luck.
"Warning: Authentication failure. Retrying " after packaging box , I am able to vagrant up and have ssh running fine from a base box that I've provisioned. I then package up the said box and keep getting errors� Vagrant Instance already added to VirtualBox, VMware or any other provider you use. SSH service on Vagrant instance set to start on boot up; Step 1: Generate SSH Keys. Generate ssh private and public keys using the ssh-keygen command. My vagrant appliance working directory is ~/vagrant/centos-asterisk-server. This is where SSH keys will reside.
For general information: by default to ssh-connect you may simply use
user: vagrant
password: vagrant
https://www.vagrantup.com/docs/boxes/base.html#quot-vagrant-quot-user
First, try: to see what vagrant insecure_private_key
is in your machine config
$ vagrant ssh-config
Example:
$ vagrant ssh-config Host default HostName 127.0.0.1 User vagrant Port 2222 UserKnownHostsFile /dev/null StrictHostKeyChecking no PasswordAuthentication no IdentityFile C:/Users/konst/.vagrant.d/insecure_private_key IdentitiesOnly yes LogLevel FATAL
http://docs.vagrantup.com/v2/cli/ssh_config.html
Second, do:
Change the contents of file insecure_private_key
with the contents of your personal system private key
Or use: Add it to the Vagrantfile:
Vagrant.configure("2") do |config| config.ssh.private_key_path = "~/.ssh/id_rsa" config.ssh.forward_agent = true end
config.ssh.private_key_path
is your local private key- Your private key must be available to the local ssh-agent. You can check with
ssh-add -L
. If it's not listed, add it withssh-add ~/.ssh/id_rsa
- Don't forget to add your public key to
~/.ssh/authorized_keys
on the Vagrant VM. You can do it by copy-and-pasting or using a tool like ssh-copy-id (user:root
password:vagrant
port: 2222)ssh-copy-id '-p 2222 root@127.0.0.1'
If still does not work try this:
Remove
insecure_private_key
file fromc:\Users\USERNAME\.vagrant.d\insecure_private_key
Run
vagrant up
(vagrant will be generate a newinsecure_private_key
file)
In other cases, it is helpful to just set forward_agent in Vagrantfile
:
Vagrant::Config.run do |config| config.ssh.forward_agent = true end
Useful:
Configurating git may be with git-scm.com
After setup this program and creating personal system private key will be in yours profile path: c:\users\USERNAME\.ssh\id_rsa.pub
PS: Finally - suggest you look at Ubuntu on Windows 10
SSH Authentication failure when doing 'vagrant up' � Issue #7786 , Vagrant version Vagrant 1.8.5 Host operating system OSX El Capitan 10.11.6 Guest operating system CentOS 7.1 Vagrantfile� I am able to vagrant up and have ssh running fine from a base box that I've provisioned. I then package up the said box and keep getting errors with ssh. I've packaged numerious boxes before with this same process just yesterday.
None of the above worked for me. Somehow the box had the wrong public key added in the vagrant user authorised_keys file.
If you can still ssh on the box with the vagrant password (password is vagrant), i.e.
ssh vagrant@localhost -p 2222
then copy the public key content from https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub to the authorised_keys file with the following command
echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key" > .ssh/authorized_keys
When done exit the VM and try vagrant ssh again. It should work now.
How to fix Vagrant ssh authentication failure after packaging vagrant , Sometimes when you package VirtualBox VM to get a vagrant box, you may get the message "Warning: Authentication failure. Retrying. Next time you type vagrant ssh Vagrant will log you in using the SSH key instead of password authentication. This approach always worked to me, but this time the above configuration did nothing. I don’t really know why, tried to debug and find more information (and hopefully solution) on the github page of the project without luck.
If you experience this issue on vagrant 1.8.5, then check out this thread on github:
https://github.com/mitchellh/vagrant/issues/7610
It's caused basically by a permission issue, the workaround is just
vagrant ssh password: vagrant chmod 0600 ~/.ssh/authorized_keys exit
then
vagrant reload
FYI: this issue only affects CentOS, Ubuntu works fine.
Vagrant ssh key authentication failure - Let's fix it!, In conclusion, vagrant ssh key authentication failure occurs mainly due to wrong configurations in the vagrant file. Today, we discussed in detail on this and saw how our Support Engineers fix this authentication failure error. Vagrant should have connected to the VM and provisioned it. Actual behavior. Vagrant kept retrying and authentication failed. Steps to reproduce. Create VagrantFile; Run vagrant up; References. I did take a look at the existing bugs and the fixes/suggestions they provide. None of those worked for me.
Run the following commands in guest machine/VM:
wget https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub -O ~/.ssh/authorized_keys chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys chown -R vagrant:vagrant ~/.ssh
Then do vagrant halt. This will remove and regenerate your private keys.
(These steps assume you have already created or already have the ~/.ssh/ and ~/.ssh/authorized_keys directories under your home folder.)
config.ssh.insert_key (boolean) - By default or if set to true, Vagrant will automatically insert a keypair to use for SSH, replacing Vagrant's default insecure key inside the machine if detected. If you already use private keys for authentication to your guest, or are relying on the default insecure key, this option will not be used.
Vagrant ssh authentication failure. 1. vagrant ssh keys chicken and egg. 5. Vagrant Laravel Homestead SSH authentication failed. 4. Vagrant Multiple Machines Inter
Comments
- in my case it was problem because of
config.ssh.private_key_path = "~/.ssh/id_rsa"
had to remove this line to make provisioning work - All of this worked but I also had to remove my entry in known hosts. I was having issues when moving locations and logging in.
- @shilovk +1 Thank you, thank you, thank you very much. The "Second, do" did the trick. Again, thank you very much man.
- This one pointed me in the right direction, in my case all I had to do was to delete the .vagrant/machines/default/virtualbox/private_key file and after running vagrant up it replaced the file with the correct one - I would backup the file just in case
- The first and most important step is to check your BIOS settings, make sure Virtualization is enabled.
- run
vagrant reload
after updating the authorized_keys file. Vagrant will auto detect the insecure key and re-generate it for you. Should work afterwards. - Let say I have 5 machines for one vagrant file. Everytime I rerun I need to do it for each machine. I there fix this permanently for given vagrant setup using centos?
- Just had to upgrade vagrant to version 1.8.6 use to have 1.8.5 where bug presisted
- This answer helped me. Just to share my experience: Somehow (possibly during the installation of Capistrano but that's not confirmed) my authorized_key file had been deleted on my guest VM. Recreating it using these steps worked and I can now ssh in without password prompt. Thanks.
- After removing both keys (public/private) from host machine, I was able to redo and resolve with this process