![从 Windows 命令行在 Linux 虚拟机(或服务器)上执行命令](https://linux22.com/image/1437119/%E4%BB%8E%20Windows%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%9C%A8%20Linux%20%E8%99%9A%E6%8B%9F%E6%9C%BA%EF%BC%88%E6%88%96%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%89%E4%B8%8A%E6%89%A7%E8%A1%8C%E5%91%BD%E4%BB%A4.png)
我通常在 Windows 机器上使用软件,但现在需要调用一个命令行可执行文件,而我只有 Linux 版本。我安装了 Linux 虚拟机,但我希望能够从我的 Windows 命令行调用虚拟机上的 Linux 可执行文件,以便我可以自动使用它。
有人知道如何执行此操作吗? 提前致谢。
有一个类似的问题我找到了,但我不明白答案。看起来他们已经在主机和虚拟机之间建立了某种连接,然后通过“vmrun”登录到虚拟机来执行命令。
其他问题是关于在两台 Linux 机器上执行此操作的,但它并没有为我解决这个问题。
哦,也许这很重要:我运行 Windows 7 并使用 oracle vm virtualbox 在其上运行 Debian 发行版。
-编辑:所以我需要设置到虚拟机的 SSH 连接。我找到了一个网站这解释了如何从 Linux 机器上执行此操作,对于 Windows 主机可能以相同的方式工作。
答案1
我非常喜欢使用赛格威在 Windows 系统上给我一个 bash shell。您可以使用它通过 SSH 连接到虚拟机或远程主机,就像从另一台 Linux 机器上一样,您只需在客户机(或远程服务器)上设置一个 SSH 服务器。根据您需要的命令行可执行文件,它甚至可能在 cygwin 中可用,并且不需要真正的 Linux 环境。
答案2
正如 eemikula 所说,我需要与我的虚拟机建立 SSH 连接。因此我运行这在 Windows 中设置 vmware 设置,通过 127.0.0.1 ip 环路进行 ssh 连接(第一个添加VM 设置中的第二个网络适配器并使其成为仅主机适配器):
VBoxManage modifyvm myserver --natpf1 "ssh,tcp,,3022,,22"
我在哪里找到了'myserver'
VBoxManage list vms
然后我在虚拟机中安装一个 SSH 服务器:
sudo apt-get install openssh-server
然后我把油灰在系统路径中的文件夹中。然后,此命令执行某个 txt 文件中的命令:
putty.exe -agent -ssh [email protected] -P 3022 -pw password -t -m "commandsfile.txt"
或者从同一链接下载 plink 似乎可以直接执行命令,现在将对此进行研究。Plink 和 putty 都是非常小的可移植可执行文件。我按照 eemikula 首先发布的答案中的建议开始安装 cygwin,但在我弄清楚如何这样做之后,cygwin 仍在从某个模糊的 ftp 地址下载。