Я обычно использую программное обеспечение на компьютере с Windows, но теперь мне нужно вызвать один исполняемый файл командной строки, для которого у меня есть только версия для Linux. Я установил виртуальную машину Linux, но я хотел бы иметь возможность вызывать исполняемый файл Linux на виртуальной машине из командной строки Windows, чтобы я мог автоматизировать ее использование.

Кто-нибудь знает, как это сделать? Заранее спасибо.

Есть один похожий вопрос, который я нашел, но я не понимаю ответа. Похоже, они уже установили какое-то соединение между хостом и виртуальной машиной, а затем вошли в систему через "vmrun" для выполнения команды.

Другой вопрос был о том, чтобы сделать это для двух машин linux, но это не решило меня.

О, может быть, это важно: я запускаю windows 7 и использую oracle vm virtualbox для запуска дистрибутива Debian.

-edit: поэтому мне нужно настроить SSH-соединение с виртуальной машиной. Я нашел веб-сайт, который объясняет, как сделать это с Linux-машины, может работать так же для хостов Windows.

2 ответа2

3

Я большой поклонник использования Cygwin в системах Windows для создания оболочки bash. Вы можете использовать это для SSH на виртуальной машине или удаленном хосте, так же, как с другой машины Linux, вам просто нужно настроить сервер SSH на гостевой (или удаленный сервер). В зависимости от того, какой исполняемый файл командной строки вам нужен, он может быть даже доступен в cygwin, и не требуется никакой настоящей среды Linux.

0

Как говорит eemikula, мне нужно было получить SSH-соединение с моей виртуальной машиной. Поэтому я запускаю эту строку в Windows, которая устанавливает параметры vmware для ssh через ip-цикл 127.0.0.1 (сначала добавьте второй сетевой адаптер в настройках виртуальной машины и сделайте его адаптером только для хоста):

VBoxManage modifyvm myserver --natpf1 "ssh,tcp,,3022,,22"

Где я нашел 'myserver' с

VBoxManage list vms

Затем я устанавливаю SSH сервер в виртуальной машине:

sudo apt-get install openssh-server

Затем я помещаю замазку в папку, которая находится в системном пути. Затем эта команда выполняет команды в определенном текстовом файле:

putty.exe -agent -ssh user@127.0.0.1 -P 3022 -pw password -t -m "commandsfile.txt"

Или загрузив plink по той же ссылке, вы можете выполнять команды напрямую, как мы сейчас рассмотрим. Plink и putty - очень маленькие переносимые исполняемые файлы. Я начал устанавливать cygwin, как это было предложено в ответе, который сначала опубликовал eemikula, но cygwin все еще загружал с какого-то расплывчатого адреса ftp после того, как я понял, как это сделать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .