【问题标题】:vagrant ssh not working in MobaXterm on Windowsvagrant ssh 在 Windows 上的 MobaXterm 中不起作用
【发布时间】:2016-02-26 01:30:05
【问题描述】:

我已经找到 "SSH to Vagrant box in Windows" 并将 git bin 目录添加到我的 windows PATH 中。我通过启动 CMD 并输入 ssh 验证它是否有效,并收到一条使用消息。 (在将 git bin 目录添加到我的路径之前,CMD 抱怨 ssh 不是一个有效的命令。)

但是...当我从 MobaXterm 运行 vagrant ssh 时,我遇到了与以前相同的错误。 (一个充满对我没有帮助的 ruby​​ 错误的页面。)当我以 VAGRANT_LOG=debug vagrant ssh 运行它时,我看到:

INFO subprocess: Starting process: ["C:\\Users\\(myname)\\DOCUME~1\\MOBAXT~1\\slash\\bin/ssh.EXE"]

这是错误的 ssh 可执行文件;它是安装在 MobaXterm 中的,如果从 CMD 窗口运行,它将不起作用。

我怎样才能让vagrant ssh 正常工作?

【问题讨论】:

  • 反对者,cmets 将不胜感激。我来这里寻求帮助,我认为我已经很清楚地解释了我的问题....

标签: ruby windows ssh path vagrant


【解决方案1】:

部分技巧是我想将 Windows PATH 用于任意命令——甚至连 ssh 都不想,真的。我想将 MobaXterm 中的版本用于所有内容。我想要的只是能够像在 Linux 或 Mac 上一样运行 vagrant ssh

我一直在使用的解决方法,我在网上某处找到(但无法再次找到该页面)是:

vagrant ssh-config > vagrant-ssh
ssh -F vagrant-ssh default  # Works exactly the way `vagrant ssh` should

“default”是典型的 Vagrant 环境的盒子名称,只有一个 vagrant 盒子。如果有多个盒子,请将“default”替换为盒子名称:

ssh -F vagrant-ssh host001  # Works the way `vagrant ssh host001` would on another system

这是一个很好的解决方法,只需对工作流程进行最少的更改。但我仍然想要一种方法来让vagrant ssh 工作,而不需要我的 vagrant 目录中的额外文件。

【讨论】:

  • 您的评论非常有帮助(并且有效!)。我将这两行包装在我的 .bashrc 文件中的一个函数中,现在可以使用vagrantssh(无空格)ssh 进入我的虚拟机
  • 谢谢!正是我需要的。
【解决方案2】:

here你可以找到解释

在文档中,此提及位于“终端选项卡设置”中 部分,因此您将在“终端”选项卡中找到此选项。

进入 MobaXterm 全局设置窗口,然后点击“终端” 选项卡并选中“使用 Windows PATH 环境”。请注意,如果您是 使用会话,您将必须在此会话中执行相同操作:编辑 您的会话,然后转到“终端设置”选项卡并检查 “使用 Windows PATH”选项。

【讨论】:

    【解决方案3】:

    说我疯了,但是这样做呢:

    • 像正常一样设置 Vagrant Virtualbox VM
    • 在 MobaXterm 中,创建一个“Bash”shell 集成与工作目录设置作为您正在执行此操作的特定 VM 的 Vagrant 目录的目录(又名...该 VM 的 Vagrantfile 所在的目录)
    • 在“高级 Shell 设置”中,使用此命令(将 vagrant 路径调整为 MobaXterm bash 看到的 Vagrant 安装位置):

    命令 /drives/c/HashiCorp/Vagrant/bin/vagrant ssh-config > vagrant-ssh-config && ssh -A -F vagrant-ssh-config 默认

    Vagrant VM 需要启动 MobaXterm Bash 条目才能使 VM 工作。我刚刚为我创建的两个 Vagrant Virtualbox VM 设置了两个 Bash shell 设置,它似乎工作得很好。

    更新:自从我弄清楚这一点以来,我走得更远了..至少对我来说我做到了:)。我为我的每个 Vagrant VM 添加了额外的 CMD shell 会话 MobaXterm。这些额外的 CMD shell 会话针对它们特定的 VM 执行 Vagrant 停止、启动和重新启动(停止和启动的组合)命令。这是重启的样子:

    流浪者停止
    流浪了
    set /p value="按 Enter 继续"
    退出

    上述会话的启动目录同样是该 VM 的 Vagrantfile 所在的目录。哦,请确保在终端设置中选中“使用 Windows PATH”。

    【讨论】:

      【解决方案4】:

      您可以在安装 git 期间安装 git (https://git-scm.com/downloads) 选择“从 windows 命令提示符中使用 git 和可选的 Unix 工具”

      【讨论】:

        【解决方案5】:

        msysgit project page下载msysgit并将msysgit/bin文件夹包含到PATH,现在您可以在Windows终端上运行sshvagrant ssh

        【讨论】:

          猜你喜欢
          • 2016-11-17
          • 2017-03-26
          • 1970-01-01
          • 2023-03-28
          • 2020-05-17
          • 1970-01-01
          • 1970-01-01
          • 2016-11-12
          • 1970-01-01
          相关资源
          最近更新 更多