设置 SSH

设置 SSH

我正在编写一些代码,我有一个应该可行的想法,但我不知道如何让它发挥作用。我在 Windows 主机上使用 Wolfram Mathematica 来运行一些代码,但我必须将文件导出到我在 Ubuntu Virtualbox VM 中运行的基于 Linux 的程序。截至目前,当文件导出时,我必须过去并单击它才能使其运行。

虽然工作量不大,但我希望它能自动化,这样 Mathematica 就可以调用我的其他程序,而我不需要点击任何东西。我尽了最大努力在网上寻求帮助,但老实说,这基本上超出了我的理解范围(我是一名土木工程师,不太懂电脑)。

以下是我目前得到的信息:

C:\Program Files\Oracle\VirtualBox\VBoxManage guestcontrol "Ubuntu" execute --username (myname) --password (mypassword) --verbose --wait-exit --wait-stdout --image "/home/(myname)/Desktop/oof2-2.1.11/oof2"

它告诉我VERR_ACCESS_DENIED并关闭访客会话。

当我在 Ubuntu 中运行我的程序时,我所要做的就是oof2在终端窗口中输入,它就会启动,但我如何让它通过命令行执行此操作?我已经阅读过VirtualBox 客户控制手册我没有看到任何我能理解的、直接适用的内容。任何帮助我都会很感激。

最后要说的是,我可以运行客户控制手册中给出的示例,而且它们运行良好。

答案1

以下是命令的帮助vboxmanage

 guestcontrol              <uuid|vmname>

                             exec[ute]
                             --image <path to program> --username <name>
                             [--passwordfile <file> | --password <password>]
                             [--domain <domain>] [--verbose] [--timeout <msec>]
                             [--environment "<NAME>=<VALUE> [<NAME>=<VALUE>]"]
                             [--wait-exit] [--wait-stdout] [--wait-stderr]
                             [--dos2unix] [--unix2dos]
                             [-- [<argument1>] ... [<argumentN>]]

因此完整命令应为:

C:\Program Files\Oracle\VirtualBox\VBoxManage guestcontrol "Ubuntu" execute --username (myname) --password (mypassword) --verbose --wait-exit --wait-stdout --image "/usr/local/bin/oof2" -- --text

注意额外的--。此后的所有内容都将作为参数传递给流程。


设置 SSH

  1. 安装油灰在主机上。(直接链接安装程序)
  2. 在虚拟机中打开一个终端并输入ip -4 addr。查找您的 IP 地址,它将位于“eth0”部分下的“inet”一词旁边(可能是 10.0.2.XXX)
  3. 从虚拟机窗口打开“设备”菜单,选择“网络”->“网络设置”。从那里选择“端口转发”
  4. 添加规则,主机端口 = 2222,客户机 IP =,客户机端口 = 22。在所有对话框中单击“确定”。
  5. 运行 putty,使用localhost作为主机名,并2222作为端口。单击“打开”

如果一切顺利,并且您获得了一个终端,那么您现在可以使用此命令来运行您的应用程序:

C:\Program Files (x86)\PuTTY\plink.exe -P 2222 -pw mypassword myname@localhost  "/usr/local/bin/oof2" --text

相关内容