使用前提:配置ssh免密码登陆(这里我已做了互信)
一、对于几条命令:
格式:
ssh remote_username@remote_ip "remote_command"
注释:
- remote_username 远程用户名
- remote_ip 目标服务器ip
- remote_command 操作在目标服务器上的指令
- 这里单引号或双引号开头都可以,最后再用相同的引号来结束
例:
服务器一
[root@xsnq ~]# ssh root@192.168.75.5 'touch /opt/xsnq.txt && echo "test" > /opt/xsnq.txt'
服务器二
[root@localhost opt]# ll
total 4
-rw-r--r--. 1 root root 5 Mar 3 11:37 xsnq.txt
[root@localhost opt]# cat xsnq.txt
test
二、对于多条命令
举例格式:
ssh user@remoteNode > /dev/null 2>&1 <<aabbcc
...
exit
aabbcc
echo end!
- 远程执行的内容在“<< aabbcc ” 至“ aabbcc”之间,aabbcc可以随便修改成其他形式
- 重定向不显示远程的输出
- 命令执行完之后exit退出远程节点
例:
#!/bin/bash
#安装speedtest-cli
#V1.0
ssh user@remoteNode > /dev/null 2>&1 <<aabbcc
if [ ! -f /usr/local/bin/speedtest-cli ]
then
wget https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py
chmod a+rx speedtest.py
mv speedtest.py /usr/local/bin/speedtest-cli
chown root:root /usr/local/bin/speedtest-cli
fi
sleep 3
exit
aabbcc
echo end!
本文出现任何错误,请留言私信批评指正。
版权声明:本文为weixin_46623617原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。