300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Linux之SSH远程执行命令

Linux之SSH远程执行命令

时间:2019-09-22 08:01:51

相关推荐

Linux之SSH远程执行命令

注: 部分概念介绍来源于网络

SSH 是 Linux 下进行远程连接的基本工具,不光可以登录,也可以远程操作。

一、执行简单的命令:

ssh root@127.0.0.1 "df -h"

一次执行多条命令,使用分号把不同的命令隔起来就 OK 了

ssh root@127.0.0.1 "df -h;pwd"

添加 -t 参数后,ssh 会保持登录状态,直到你退出需要交互的命令。

ssh -t root@127.0.0.1 "df -h"

二、保存远程执行命令结果:

赋值的方式:result=`ssh root@127.0.0.1 "df -h"`

追加到文件:ssh root@127.0.0.1 "df -h" >> ./log

三、执行本地的脚本

我们在本地创建一个脚本文件 test.sh:

然后运行下面的命令:

ssh root@127.0.0.1 < test.sh

通过重定向 stdin,本地的脚本 test.sh 在远程服务器上被执行。

接下来我们期望能为脚本 test.sh 传递一个参数:

然后尝试执行下面的命令:

ssh root@127.0.0.1 < test.sh helloworld

ssh root@127.0.0.1 < "test.sh helloworld"

显示了执行的结果:方法都无法为脚本传递参数。

要想在这种情况下(远程执行本地的脚本)执行带有参数的脚本,需要为 bash 指定 -s 参数:

ssh root@127.0.0.1 'bash -s' < test.sh helloworld

四、执行远程服务器上的脚本

除了执行本地的脚本,还有一种情况是脚本文件存放在远程服务器上,而我们需要远程的执行它!

此时在远程服务器中有一个脚本 test.sh。文件的内容如下:

执行下面的命令:

ssh root@127.0.0.1 "/home/test.sh"

注意,此时需要指定脚本的绝对路径!

下面我们也尝试为脚本传递参数:

然后尝试执行下面的命令:

ssh root@127.0.0.1 /home/test.sh helloworld

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。