我想创建一个脚本,自动登录到远程服务器,并抓取服务器上的一个文件。该脚本已经登录到服务器,但是命令并未在该计算机上运行。一旦我断开与远程服务器的连接,这些命令就会在客户机上运行。
!/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和密钥生成来无密码地连接到远程服务器。我很欣赏这些想法,但我正在寻找可能的管道命令或运行命令在远程服务器上与客户端的脚本。我意识到远程服务器无法访问客户机脚本,但是我很好奇是否可以通过ssh连接来传输命令。
发布于 2009-06-16 12:31:13
您应该使用scp (“安全复制”)而不是ssh (“安全外壳”)。
发布于 2009-06-16 14:19:59
此外,如果您不希望在远程服务器上有可用的脚本,请尝试以下操作:
ssh thehost 'cd /tmp; ls; echo Hello world, I am `hostname`'对于无SCP复制:
ssh localhost 'cat /bin/bash' > local_bash发布于 2009-06-17 09:46:11
如果您的目标仅是传输文件,则应使用scp。但是,要在远程主机上执行一些命令而不在该远程主机上使用特定脚本,您可以简单地使用如下所示的标准输入:
!/bin/sh
ssh -o PreferredAuthentications=publickey brjones@server.com << EOT
cd ~/folder
echo "hello" > hello.txt
...
EOThttps://stackoverflow.com/questions/1001179
复制相似问题