蛮子哥 蛮子哥
首页
  • linux
  • windows
  • 中间件
  • 监控
  • 网络
  • 存储
  • 安全
  • 防火墙
  • 数据库
  • 系统
  • docker
  • 运维工具
  • other
  • elk
  • K8S
  • ansible
  • Jenkins
  • GitLabCI_CD
  • 随笔
  • 面试
  • 工具
  • 收藏夹
  • Shell
  • python
  • golang
友链
  • 索引

    • 分类
    • 标签
    • 归档
    • 首页 (opens new window)
    • 关于我 (opens new window)
    • 图床 (opens new window)
    • 评论 (opens new window)
    • 导航栏 (opens new window)
周刊
GitHub (opens new window)

蛮子哥

业精于勤,荒于嬉
首页
  • linux
  • windows
  • 中间件
  • 监控
  • 网络
  • 存储
  • 安全
  • 防火墙
  • 数据库
  • 系统
  • docker
  • 运维工具
  • other
  • elk
  • K8S
  • ansible
  • Jenkins
  • GitLabCI_CD
  • 随笔
  • 面试
  • 工具
  • 收藏夹
  • Shell
  • python
  • golang
友链
  • 索引

    • 分类
    • 标签
    • 归档
    • 首页 (opens new window)
    • 关于我 (opens new window)
    • 图床 (opens new window)
    • 评论 (opens new window)
    • 导航栏 (opens new window)
周刊
GitHub (opens new window)
  • linux

    • rsync

      • rsync用法及参数详解
      • rsync服务实现推送,拉取
    • dns

    • sed、awk、grep、find四剑客

    • LVM管理
    • sudo权限规划
    • linux修改网卡为eth0的两种方法
    • Logrotate入门了解及生产实践
    • linux中用dd命令来测试硬盘读写速度
    • linux 阿里云盘挂载错误
    • CentOS7安装Android SDK
    • centos7安装更新git
    • linux启动顺序
    • centos7升级openssl
    • expect工具的安装和使用方法
    • linux下使用v2ray
    • centos7安装java环境的两种方式
    • linux-centos7系统设置时区及同步时间
    • rsyslog日志系统:rsyslog配置文件
    • rsyslog的安装、使用、详解
    • safe-rm防止删除重要的文件
    • linux如何获取打开文件和文件描述符数量
    • LVS集群-DR模式
    • linux服务器安装ffmpeg
    • linux服务器安装samba
    • 使用openssl创建自签发证书
    • linux服务器部署next.js服务
    • linux服务器ionice命令使用方式
    • linux服务器curl命令常用操作
    • linux服务器修改终端会话时间的操作
    • linux服务器执行远程命令几种方式
      • 🔹 SSH 执行远程命令方式对比表
  • windows

  • 中间件

  • 网络

  • 安全

  • 存储

  • 防火墙

  • 数据库

  • 系统

  • docker

  • other

  • 监控

  • 运维
  • linux
蛮子哥
2025-09-19
目录

linux服务器执行远程命令几种方式

在 Linux 服务器 上使用 SSH 执行远程命令的方式常见有以下几种:


# 1. 直接在命令行中执行远程命令

ssh user@remote_host "ls -l /home"
1
  • 只执行一次命令,执行完即退出。
  • 常用于快速查询、批量操作。

# 2. 多条命令执行

ssh user@remote_host "cd /var/log && tail -n 10 syslog"
1

或使用分号:

ssh user@remote_host "mkdir -p /tmp/test; touch /tmp/test/1.txt"
1

# 3. 执行本地脚本到远程

ssh user@remote_host 'bash -s' < local_script.sh
1
  • 将本地脚本传给远程主机执行,不需要提前拷贝脚本到远程。

# 4. 通过管道传递命令

cat local_script.sh | ssh user@remote_host "bash -s"
1
  • 类似方式,适合流水线脚本。

# 5. 远程交互式执行(伪终端)

ssh -t user@remote_host "htop"
1
  • -t 参数强制分配伪终端,适合交互式命令(如 htop、vim)。

# 6. 通过 Here Document 执行批量命令

ssh user@remote_host << 'EOF'
echo "当前主机: $(hostname)"
df -h
uptime
EOF
1
2
3
4
5
  • 一次性执行多行命令。

# 7. 结合 scp 先传文件再执行

scp local_script.sh user@remote_host:/tmp/
ssh user@remote_host "bash /tmp/local_script.sh"
1
2
  • 适合需要持久脚本的场景。

# 8. 通过 sshpass 执行(非交互密码)

sshpass -p "password" ssh user@remote_host "ls /home"
1
  • 在自动化脚本中使用,缺点是不安全(明文密码)。

# 9. 借助 ProxyCommand / ProxyJump 中转执行

ssh -J user@jump_host user@target_host "hostname"
1
  • 适合跳板机场景。

✅ 总结:

  • 简单命令 → 直接 ssh user@host "command"
  • 多行命令/脚本 → Here Document / 管道
  • 自动化 → scp + ssh / sshpass / Ansible

# Linux 使用 SSH 执行远程命令方式对比表,包含常见方式、使用示例、适用场景、优缺点:


# 🔹 SSH 执行远程命令方式对比表

方式 示例 适用场景 优点 缺点
直接执行单条命令 ssh user@host "ls -l /home" 临时查询、单条命令执行 简单快捷 只能执行一条命令
多条命令串行执行 ssh user@host "cd /var; ls; df -h" 一次执行多条命令 一次性完成多任务 命令过多时可读性差
本地脚本远程执行 ssh user@host 'bash -s' < local.sh 执行本地已有脚本 不需拷贝到远程 仅临时执行,脚本不保留
管道传递脚本 `cat local.sh ssh user@host "bash -s"` 脚本内容动态生成 灵活,不落地 调试不方便
Here Document ssh user@host <<'EOF' \necho $(hostname)\ndf -h\nEOF 一次性执行多行命令 脚本直观 不适合复杂脚本
scp + ssh 执行 scp local.sh user@host:/tmp/ && ssh user@host "bash /tmp/local.sh" 脚本需要多次执行 脚本可复用 需要额外传输步骤
交互式命令 (伪终端) ssh -t user@host "htop" 运行交互程序 支持交互 不能用于自动化
sshpass(免交互密码) sshpass -p "pwd" ssh user@host "date" 无法用密钥时的自动化 方便 不安全,密码明文
跳板机执行 (ProxyJump) ssh -J user@jump user@target "hostname" 需要经过跳板机 配置简单 依赖 OpenSSH 7.3+
批量自动化工具 ansible all -m shell -a "df -h" 大规模批量运维 功能强大 需要额外工具支持

👉 选型建议:

  • 临时操作:直接 ssh "command"
  • 批量命令/脚本:Here Document 或 scp+ssh
  • 自动化:sshpass(小规模) / Ansible(大规模)
  • 复杂运维:推荐使用 Ansible、SaltStack 等配置管理工具

微信 支付宝
上次更新: 2025/09/19, 10:36:50

← linux服务器修改终端会话时间的操作 windows支持多用户远程登录→

最近更新
01
一文看懂“提示词” vs “提示词工程” vs “上下文工程”
07-27
02
程序员的提示工程实战手册
07-27
03
linux服务器修改终端会话时间的操作
07-22
更多文章>
Theme by Vdoing | Copyright © 2019-2025 | 点击查看十年之约 | 鄂ICP备2024072800号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式