Created
May 27, 2013 13:37
-
-
Save jedi4ever/5657094 to your computer and use it in GitHub Desktop.
speeding up DNS/SSH connections in vagrant
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Tune /etc/ssh/sshd_config | |
UseDNS no # Disable DNS lookups | |
GSSAPIAuthentication no # Disable negotation of slow GSSAPI | |
don't forget to restart it, use a script provider to set it , or create it with veewee or snapshot it | |
- Tune Vagrantfile | |
vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] | |
See <http://serverfault.com/questions/453185/vagrant-virtualbox-dns-10-0-2-3-not-working?rq=1> | |
- Logging into the vm with a regular ssh command | |
See <http://blog.codeboutique.com/post/creating-debian-squeeze-box-for-vagrant> | |
vagrant ssh-config vmname | ssh -t -t -F/dev/stdin vmname | |
Use the -t -t to overcome the pseudoterminal warning | |
- Now use a control connnection for ssh | |
(as it seems that the cli invocation of vagrant takes a couple of seconds ....) | |
Setup the control session: | |
vagrant ssh-config vmname | ssh -t -t -F/dev/stdin -o 'ControlMaster auto' -o 'ControlPath ~/.ssh/vagrant' vmname | |
Use it for fast login | |
ssh -o 'ControlMaster auto' -o 'ControlPath ~/.ssh/vagrant' vmname | |
Now it logins in a matter of milliseconds! |
Can virtualbox set UseDNS no, or does that need to be configured with chef/puppet?
This has worked! From 7 seconds regular ssh to almost instant. Am on macOS Sierra 10.12.6 with Centos as guest.
On top of the above, I also copied the output of vagrant config
and used echo '...content...' | ssh ...
instead. This saves time since vagrant config
takes time to load.
I have been looking for a solution for slow Vagrant ssh connections on Mac for months (though interrupted by daily work).
Just in case someone is in doubt, I ran vagrant ssh
and then sudo vi /etc/ssh/sshd_config
. Did a /GSSAPI
to search where it is and added UseDNS no
above the GSSAPI section and switched off GSSAPIAuthentication
.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
👍 awesome, thanks!! It connects pretty much instantly now and I can conveniently issue commands to the vm, without being locked in the session. Works with OS X 10.9 as host, Ubuntu 14.04 as guest.