UNIX ssh脚本,在远程服务器上运行命令

我想创建一个自动登录到远程服务器并在服务器上抓取文件的脚本。 脚本已经登录到服务器,但是该命令不在该机器上运行。 一旦我从远程服务器断开连接,命令就会在客户机上运行。

!/bin/sh
ssh -o PreferredAuthentications=publickey brjones@server.com
cd ~/folder
"i would like to grab file and copy it to client machines folder"

编辑:我不知道你是否注意到,但我用密码连接到远程服务器使用ssh和keygeneration。 我很欣赏这些想法,但我正在寻找使用客户端上的脚本来管理命令或在远程服务器上运行命令。 我意识到远程服务器无法访问客户端脚本,但是我很好奇是否可以通过ssh连接传输命令。


你应该使用scp(“secure copy”)而不是ssh(“secure shell”)。


另外,如果您不希望在远程服务器上有可用的脚本,请尝试以下操作:

ssh thehost 'cd /tmp; ls; echo Hello world, I am `hostname`'

和无SCP复制:

ssh localhost 'cat /bin/bash' > local_bash

如果你的目标只是传输文件,你应该使用scp。 但是要在远程主机上执行一些命令而不在该远程主机上使用特定的脚本,则可以简单地使用stdin,如下所示:

!/bin/sh
ssh -o PreferredAuthentications=publickey brjones@server.com << EOT
cd ~/folder
echo "hello" > hello.txt
...
EOT
链接地址: http://www.djcxy.com/p/97157.html

上一篇: UNIX ssh script, running commands on remote server

下一篇: how to run a script file remotely using ssh