2014-01-23 35 views
3

我想运行一个使用SSH的shell脚本,该脚本从其他计算机获取资源,而脚本位于某个其他计算机上,并且都位于同一网络中。我不想将资源复制到本地机器。如何在一台机器上使用资源(.txt文件)和另一台机器上的脚本通过ssh运行shell脚本?

注:shell脚本需要.txt文件作为输入

+0

所以远程脚本必须采取文本文件作为输入一些其他远程计算机。对? – sujin

+0

@ mario23请编辑您的问题以添加评论中的信息。 – guntbert

回答

2

试试这个:

ssh [email protected]_ADDRESS "BASH_SCRIPT_FILE_PATH" 

您需要在需要的时候提供密码。

+0

这一个有助于运行远程机器脚本。 – sujin

+0

请检查更新的答案。 – Vinay

+0

我不认为这将是问题的确切答案。 – sujin

0

如果你的脚本是在机器A,你不能在机器B上运行,而不复制它。首先,在复制脚本到计算机B上使用scp

[[email protected]]$ scp /path/to/script [email protected]:/home/user/path 

然后,只需运行该脚本

[[email protected]]$ ssh [email protected] "/home/user/path/script" 

如果你给可执行权限的脚本,这将工作。

OR

试试这个..

<hostA_shell_prompt>$ ssh [email protected] "ls -la" 

那会提示你输入密码,除非你复制你的hostA的用户的公钥authorized_keys文件在用户的.ssh的的家目录。这将允许进行无密码身份验证(如果在ssh服务器的配置中作为身份验证方法接受)

0

我不完全理解您的问题。其他答案给了“如何运行远程脚本?”

但我认为问题是远程脚本已采取远程文件,甚至我不知道使用ssh这个

  1. 登录远程PC。
  2. 如果未安装,请安装sshfs
  3. 然后将其他具有要在脚本中使用的文件的远程机器目录挂载到本地目录。这可以使用sshfs
  4. 然后从本地安装的目录中运行带有文件的脚本
  5. 然后在完成后卸载目录。

有点大的程序。

Mounting remote directory with sshfs

man sshfs

相关问题