SSH远程执行命令/脚本

简单命令


  1. 一条
    ssh root@hh.demo.net "ls -la"
    total 1536
    drwx------  6 root root    4096 Nov  8 13:17 .
    drwxr-xr-x 22 root root    4096 Nov  8 11:36 ..
    -rw-------  1 root root    1317 Nov  8 16:10 .bash_history
    -rw-r--r--  1 root root    3106 Apr  9  2018 .bashrc
    drwx------  3 root root    4096 Jun 24 18:10 .cache
    drwx------  3 root root    4096 Jun 25 02:06 .gnupg
    -rw-------  1 root root     207 Nov  8 11:43 .mysql_history
    drwxr-xr-x  2 root root    4096 Jun 24 18:10 .pip
    -rw-r--r--  1 root root     148 Aug 17  2015 .profile
    -rw-r--r--  1 root root     205 Nov  7 17:28 .pydistutils.cfg
    drwx------  2 root root    4096 Nov  8 11:33 .ssh
    -rw-------  1 root root   11904 Nov  8 13:17 .viminfo
  2. 执行多条
    ssh root@hh.demo.net "df -lh; date"
    Filesystem      Size  Used Avail Use% Mounted on
    udev            2.0G     0  2.0G   0% /dev
    tmpfs           395M  2.8M  392M   1% /run
    /dev/vda1        20G  4.0G   15G  22% /
    tmpfs           2.0G     0  2.0G   0% /dev/shm
    tmpfs           5.0M     0  5.0M   0% /run/lock
    tmpfs           2.0G     0  2.0G   0% /sys/fs/cgroup
    tmpfs           395M     0  395M   0% /run/user/0
    Fri Nov  8 16:14:50 CST 2019
    命令间使用 ; 间隔,当命令多于一个时最好用引号括起来,否则在有的系统中除了第一个命令,其它都是在本地执行的。

需要交互的命令


使用-t参数,让系统分配tty给ssh保持登录状态。如:

ssh -t user@hh.demo.net "sudo apt update"

多行命令


用单引号或双引号开头,然后输入命令,最后再用相同的引号来结束。如:

ssh root@hh.demo.net '
> ls
> date
> pwd
> '
demo.sql
Fri Nov  8 16:22:09 CST 2019
/root

如果需要在命令中使用变量,那么需要添加-c参数。

运行客户端脚本


使用重定向 < 在远程服务器上执行本地脚本。如:

ssh root@hh.demo.net < script.sh

如果执行脚本需要带入参数,ssh通过bash -s 参数指定。

ssh root@hh.demo.net 'bash -s' < script.sh param

运行服务器脚本


如同执行简单的远程命令,直接指定脚本路径就可以了,但是要注意使用绝对路径和系统的PATH。
如果需要带入脚本参数,可直接跟在命令后边。如:

ssh root@hh.demo.net /root/script.sh param

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 irvin.em@live.com

文章标题:SSH远程执行命令/脚本

文章字数:538

本文作者:dino

发布时间:2019-11-08, 14:20:26

最后更新:2019-11-08, 21:21:25

原始链接:https://blog.walkbc.com/2019/11/08/SSHRemote/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录