diff options
Diffstat (limited to 'pkg')
-rw-r--r-- | pkg/machine/config.go | 3 | ||||
-rw-r--r-- | pkg/machine/qemu/machine.go | 7 | ||||
-rw-r--r-- | pkg/terminal/console_windows.go | 2 |
3 files changed, 9 insertions, 3 deletions
diff --git a/pkg/machine/config.go b/pkg/machine/config.go index cad71ba49..8db2335aa 100644 --- a/pkg/machine/config.go +++ b/pkg/machine/config.go @@ -61,7 +61,8 @@ type ListResponse struct { } type SSHOptions struct { - Args []string + Username string + Args []string } type StartOptions struct{} diff --git a/pkg/machine/qemu/machine.go b/pkg/machine/qemu/machine.go index 855a39c56..5d8c6e6ce 100644 --- a/pkg/machine/qemu/machine.go +++ b/pkg/machine/qemu/machine.go @@ -488,7 +488,12 @@ func (v *MachineVM) SSH(name string, opts machine.SSHOptions) error { return errors.Errorf("vm %q is not running.", v.Name) } - sshDestination := v.RemoteUsername + "@localhost" + username := opts.Username + if username == "" { + username = v.RemoteUsername + } + + sshDestination := username + "@localhost" port := strconv.Itoa(v.Port) args := []string{"-i", v.IdentityPath, "-p", port, sshDestination, "-o", "UserKnownHostsFile /dev/null", "-o", "StrictHostKeyChecking no"} diff --git a/pkg/terminal/console_windows.go b/pkg/terminal/console_windows.go index 08e66cb3a..9a636d681 100644 --- a/pkg/terminal/console_windows.go +++ b/pkg/terminal/console_windows.go @@ -25,7 +25,7 @@ func setConsoleMode(handle windows.Handle, flags uint32) error { var mode uint32 err := windows.GetConsoleMode(handle, &mode) if err != nil { - return err + return nil // not a terminal } if err := windows.SetConsoleMode(handle, mode|flags); err != nil { // In similar code, it is not considered an error if we cannot set the |