Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过ssh在远程机器上运行程序(在本地机器上编译)?_Ssh_Scp - Fatal编程技术网

如何通过ssh在远程机器上运行程序(在本地机器上编译)?

如何通过ssh在远程机器上运行程序(在本地机器上编译)?,ssh,scp,Ssh,Scp,我想运行一个程序,通过ssh在远程机器上的本地机器上找到并编译它的文件。我过去习惯于scp(通过ssh复制)将其编译的文件复制到远程机器,然后运行它。是否可以退出scp并从本地计算机上运行它?我希望两台计算机具有相同的体系结构,或者您交叉编译它们以适合目标计算机 我将使用这两个命令: scp yourapp target:/path/to/store/yourapp ssh target /path/to/store/yourapp 这要求您有一个正在运行的ssh设置,可以在目标系统上对您进行

我想运行一个程序,通过
ssh
在远程机器上的本地机器上找到并编译它的文件。我过去习惯于
scp
(通过ssh复制)将其编译的文件复制到远程机器,然后运行它。是否可以退出scp并从本地计算机上运行它?

我希望两台计算机具有相同的体系结构,或者您交叉编译它们以适合目标计算机

我将使用这两个命令:

scp yourapp target:/path/to/store/yourapp
ssh target /path/to/store/yourapp
这要求您有一个正在运行的ssh设置,可以在目标系统上对您进行身份验证


有几种方法可以设置此页面,您可以尝试此页面

@rekire的建议是合理的

或者,您可以使用sshfs在目标机器上装载(部分)developments机器文件系统,并执行远程二进制文件,就像它存储在目标机器上一样


有关sshfs的更多信息,请参见,例如,

您需要提供更多信息,如两种体系结构是否相同,是否必须输入密码或是否使用密钥。@rekire:体系结构可能不相同,关于密码I
sshpass-p“paasword”
。我说过我以前是按照您说的做的,但是我想知道是否有可能在不需要将程序复制到远程机器的情况下运行该程序。不,这是不可能的,我的意思是,我知道一些网格计算工具也可以实现这一点,但它们也会以同样的方式来实现。这将使复制部分变得不必要。但是它允许执行文件吗?我不确定这一点。它允许执行文件。它使复制的显式触发变得不必要,但数据在导线部分上移动仍然存在,并且取决于sshfs中的缓存,它比显式复制更糟糕,因为数据可能会重复传输,特别是在重新装载之后。就我个人而言,我会采用基于rsync的方法。@mnagel:我自己也尝试过,但我只是想确定一下。如果我使用sshfs挂载一个包含只读文件的目录,那么目标计算机上挂载的这些文件是只读的吗?即使是只读到目标计算机的“根”,并且目标计算机的根也不能更改权限。是吗?让我们调用其他计算机源。在目标上安装sshfs时,可以在源上为ssh连接指定一个用户。从源代码的角度来看,文件是由该用户修改的,无论您在目标上使用的是什么用户。这样,用户的权限将被应用,并且不能提升到源本身可能的权限之上。