diff --git a/lib/vagrant/util/ssh.rb b/lib/vagrant/util/ssh.rb index 31ce31da5..8db4022a8 100644 --- a/lib/vagrant/util/ssh.rb +++ b/lib/vagrant/util/ssh.rb @@ -68,7 +68,10 @@ module Vagrant # include ssh, notably git, mingw and cygwin, but make sure ssh is in the path! # First try using the original path provided - ssh_path = Which.which("ssh", original_path: true) + if ENV["VAGRANT_PREFER_SYSTEM_BIN"] != "0" + ssh_path = Which.which("ssh", original_path: true) + end + # If we didn't find an ssh executable, see if we shipped one if !ssh_path ssh_path = Which.which("ssh") diff --git a/website/source/docs/other/environmental-variables.html.md b/website/source/docs/other/environmental-variables.html.md index d474faf9b..9dc66175b 100644 --- a/website/source/docs/other/environmental-variables.html.md +++ b/website/source/docs/other/environmental-variables.html.md @@ -185,9 +185,14 @@ required. ## `VAGRANT_PREFER_SYSTEM_BIN` +This currently only applies to Windows systems. + If this is set, Vagrant will prefer using utility executables (like `ssh` and `rsync`) from the local system instead of those vendored within the Vagrant installation. -This currently only applies to Windows systems. + +Vagrant will default to using a system provided `ssh` on Windows. This +environment variable can also be used to disable that behavior to force Vagrant to +use the embedded `ssh` executable by setting it to `0`. ## `VAGRANT_SKIP_SUBPROCESS_JAILBREAK`