2013-09-14 3 views
0

Я хочу запустить программу, ее файлы которой расположены и скомпилированы на локальном компьютере на удаленной машине через ssh. Я использовал scp (скопируйте через ssh) свои скомпилированные файлы на удаленный компьютер, а затем запустил его. Можно ли избежать scp и запустить его с локальной машины?Как запустить программу (которая скомпилирована на локальной машине) на удаленной машине через ssh?

+1

Вам необходимо предоставить дополнительную информацию, например, если обе архитектуры равны, и если вам нужно ввести пароль или использовать ключи. – rekire

+0

@rekire: Архитектуры могут быть не равными, а о пароле I 'sshpass -p" paasword "'. – Mjina

ответ

2

@ предложение rekire является разумным.

В качестве альтернативы вы можете установить (часть) файловую систему разработки на целевой машине с помощью sshfs и выполнить удаленный двоичный файл, как если бы он был локально сохранен в целевом объекте.

для получения дополнительной информации о sshfs см., Например. https://help.ubuntu.com/community/SSHFS

+0

+1 Мне нравится идея. Это сделало бы ненужную часть копирования. Но позволяет ли он выполнять файлы? Я не уверен в этом. – rekire

+1

он позволяет выполнять файлы. это делает явный запуск копирования ненужным, но часть данных-перемещений по цепочке все еще существует, и в зависимости от кэша в sshfs это хуже, чем с явной копией, поскольку данные могут передаваться повторно, особенно после перезарядки. лично я бы пошел на основе rsync-подхода. – mnagel

+0

@mnagel: Я пробовал это сам, но я просто хочу быть уверенным. Если я использую sshfs для монтирования каталога с файлами readonly, являются ли эти файлы, установленные на целевой машине, как readonly? Даже только для чтения «root» целевой машины? И корень целевой машины не может изменять разрешения. – Mjina

1

Я ожидаю, что оба компьютера имеют одинаковую архитектуру или что вы перекрестно скомпилировали их, чтобы они соответствовали цели.

Я хотел бы использовать эти две команды:

scp yourapp target:/path/to/store/yourapp 
ssh target /path/to/store/yourapp 

Это требует, чтобы у вас есть бегущие установки SSH, который вас на Автую целевой системе.

Есть несколько способов установки этого вы могли бы попробовать эту страницу http://www.rebol.com/docs/ssh-auto-login.html

+0

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

+1

Нет, это невозможно, я имею в виду, что некоторые грид-компьютерные инструменты также могут достичь этого, но они будут делать эту прозрачность одинаково. – rekire

Смежные вопросы