Правильное значение config.ssh.shell для окна бродячих окон?

Я запускаю vagrant box с Windows 7 с хоста, который также является Windows 7 с командой «vagrant up».

Содержимое Vagrantfile:

Vagrant.configure(2) do |config|
  config.vm.box = "win7_base_test"
  config.vm.network "forwarded_port", guest: 88, host: 3088
  config.ssh.username = "vagrant"
  config.ssh.password = "vagrant"
  config.ssh.port = "3088"
  config.ssh.host = "127.0.0.1"
  config.ssh.shell = "cmd"
end

В результате я получаю следующий листинг с ошибкой в ​​конце:

vagrant up

Bringing machine 'default' up with 'virtualbox' provider...
==> 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: Forwarding ports...
    default: 88 => 3088 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:3088
    default: SSH username: vagrant
    default: SSH auth method: password
    default: Warning: Connection timeout. Retrying...
The configured shell (config.ssh.shell) is invalid and unable
to properly execute commands. The most common cause for this is
using a shell that is unavailable on the system. Please verify
you're using the full path to the shell and that the shell is
executable by the SSH user.

Примечание. Я могу подключиться к vagrant box, выполнив тем временем «vagrant ssh» и выполнив там команды оболочки.

Поэтому у меня вопрос: правильно ли я использую значение ("cmd") для параметра "config.ssh.shell"? Какие значения там вообще возможны?

Спасибо!


person Viktor Malyi    schedule 23.07.2015    source источник
comment
Пожалуйста, передайте свой вопрос привилегированному пользователю. Здесь это не по теме.   -  person Martin Prikryl    schedule 23.07.2015


Ответы (3)


Один из вариантов — использовать WinRM вместо SSH: установите config.vm.communicator на «winrm».

person Emil Styrke    schedule 02.11.2016

Согласно документам Vagrant, config.ssh.shell влияет только на то, какая оболочка используется внутри Vagrant, а не то, что используется в качестве оболочки при выполнении vagrant ssh. По умолчанию он использует bash, и если у вас нет особой необходимости что-то менять, оставьте так, как я считаю.

person IBam    schedule 23.07.2015

Используйте config.ssh.shell = powershell вместо config.ssh.shell = cmd

person nostrada    schedule 24.12.2020
comment
Добро пожаловать в Stack Overflow! Хотя этот код может решить проблему, включая объяснение того, как и почему это решает проблему, действительно поможет улучшить качество вашего сообщение и, вероятно, приведет к большему количеству голосов. Помните, что вы отвечаете на вопрос для будущих читателей, а не только для того, кто задает сейчас. Пожалуйста, отредактируйте свой ответ, чтобы добавить пояснения и указать, какие ограничения и предположения применяются. - person Yunnosch; 24.12.2020