Выполнить команду на виртуальной машине (или сервере) Linux из командной строки Windows

0

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

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

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

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

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

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

Лео
источник

Ответы:

3

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

eemikula
источник
Спасибо за Ваш ответ. Я не знаю, что означают слова bash shell и ssh. Я обычно не использую Linux, может быть, поэтому. Пойду и погуглю их, но, может быть, ты тоже мог бы уточнить свой ответ?
Лев
bash - один из доступных интерфейсов командной строки, широко используемых в Linux. По сути, Cygwin представляет собой набор портов Windows для многих утилит, широко используемых таким образом, предоставляя вам командную строку Linux и утилиты Linux, работающие в системе Windows. Если сам Cygwin не поддерживает интересующую вас утилиту, SSH - это утилита, которую вы можете использовать для входа на другой компьютер по сети (или, если хотите, на виртуальную машину) и предоставления интерфейса командной строки к системе. , На самом деле его можно использовать не только для этого, но я стараюсь, чтобы мой ответ был актуален для вас.
eemikula
Bash Shell = Linux-версия командной строки окна. SSH = Telnet в Windows. Это грубое упрощение, но оно должно дать вам представление.
EBGreen
Хорошо, спасибо, теперь настраиваю SSH. Добавлен сетевой адаптер только для хоста, и ipconfig в windows теперь видит этот адаптер. Однако ifconfig на моей виртуальной машине не показывает его. При использовании putty (Cygwin загружается уже некоторое время) для подключения к ip, найденному ipconfig, я получаю отклоненное соединение.
Лев
Хорошо, я нашел этот простой способ настройки SSH: stackoverflow.com/questions/5906441/… Затем я использую Putty для входа в систему и Plink для отправки команд, поэтому мне не нужно ничего устанавливать. Cygwin все еще загружал, отменит это сейчас.
Лев
0

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

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 после того, как я понял, как это сделать.

Лео
источник