前言
liyongjun@box:~/tmp$ ssh usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface][-b bind_address] [-c cipher_spec] [-D [bind_address:]port][-E log_file] [-e escape_char] [-F configfile] [-I pkcs11][-i identity_file] [-J [user@]host[:port]] [-L address][-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port][-Q query_option] [-R address] [-S ctl_path] [-W host:port][-w local_tun[:remote_tun]] destination [command]
查看 ssh 用法时,发现 ssh 最后可以跟个 command 命令。
也就是说,当我们通过 ssh 连接到远程主机时,可以指定一个命令。
一旦建立连接成功,ssh 会将指定的命令发送到远程主机,远程主机的 ssh 服务会接收并执行该命令,然后将执行的结果返回给本地主机,最后本地主机的 ssh 客户端将结果显示在本地终端上。
一、执行命令
liyongjun@box:~/tmp$ ssh nvidia@192.168.37.82 "cat /proc/uptime" nvidia@192.168.37.82's password: 191027.08 1523420.80
二、执行交互命令
ssh -t nvidia@192.168.37.82 "top"
-t 表示强制开启一个伪终端,这样可以用来执行任意交互式命令。甚至可以使用 vim,如下
liyongjun@box:~/tmp$ ssh -t nvidia@192.168.37.82 "vim a.txt"
三、执行多条命令
方式一
liyongjun@box:~/tmp$ ssh nvidia@192.168.37.82 "cat /proc/uptime;pwd;uname -r" nvidia@192.168.37.82's password: 192088.73 1531873.12 /home/nvidia 5.15.136-tegra
方式二
liyongjun@box:~/tmp$ ssh nvidia@192.168.37.82 " > cat /proc/uptime > pwd > uname -r > " nvidia@192.168.37.82's password: 192167.37 1532498.00 /home/nvidia 5.15.136-tegra
四、执行脚本
liyongjun@box:~/tmp$ cat cmd.sh cat /proc/uptime pwd uname -r liyongjun@box:~/tmp$ liyongjun@box:~/tmp$ ssh nvidia@192.168.37.82 "bash" < cmd.sh nvidia@192.168.37.82's password: 192335.95 1533840.16 /home/nvidia 5.15.136-tegra
转自
ssh 远程执行命令_ssh远程执行命令-CSDN博客
https://blog.csdn.net/lyndon_li/article/details/143840064