Linux Shell远程执行命令(ssh)

使用前提:配置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!

 

posted @   谢端阳  阅读(3266)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示