写这篇博客之前,我google了一堆相关文章,大都是说修改/etc/sudoers,然后NOPASSWD:指定的cmd,但是真心不管用,没有远程虚拟终端这个方法就是浮云,ubuntu10.04 server 亲测!!

ssh执行远程操作命令格式

ssh -p $port $user@$p 'cmd'

$port : ssh连接端口号

$user: ssh连接用户名

$ip:ssh连接的ip地址

cmd:远程服务器需要执行的操作

准备工作

基于公私钥认证或者用户名密码认证能确保登录到远程local2服务器(有点基本运维知识的人做这个事情都不是问题)

cmd如果是脚本,注意绝对路径问题(相对路径在远程执行时就是坑)

不足

这个命令可以满足我们大多数的需求,但是通常运维部署很多东西的时候需要root权限,但是有几处限制:

远程服务器local2禁止root用户登录

在远程服务器脚本里转换身份用expect需要send密码,这样不够安全

ssh的-t参数

-t      Force pseudo-tty allocation.  This can be used to execute arbitrary screen-based programs on a remote machine, which can be very useful, e.g. when implementing menu services.  Multiple -t options force tty allocation, even if ssh has no local tty.

中文翻译一下:就是可以提供一个远程服务器的虚拟tty终端,加上这个参数我们就可以在远程服务器的虚拟终端上输入自己的提权密码了,非常安全

命令格式

ssh -t -p $port $user@$ip  'cmd'

示例脚本

#!/bin/bash

#变量定义

ip_array=("192.168.1.1" "192.168.1.2" "192.168.1.3")

user="test1"

remote_cmd="/home/test/1.sh"

#本地通过ssh执行远程服务器的脚本

for ip in ${ip_array[*]}

do

if [ $ip = "192.168.1.1" ]; then

port="7777"

else

port="22"

fi

ssh -t -p $port $user@$ip "remote_cmd"

done

这个方法还是很方便的,-t虚拟出一个远程服务器的终端,在多台服务器同时部署时确实节约了不少时间啊!

linux远程脚本事例,ssh远程执行命令方法和Shell脚本实例相关推荐

  1. linux远程执行本地脚本,ssh远程执行命令方法和Shell脚本实例

    写这篇博客之前,我google了一堆相关文章,大都是说修改/etc/sudoers,然后NOPASSWD:指定的cmd,但是真心不管用,没有远程虚拟终端这个方法就是浮云,ubuntu10.04 ser ...

  2. ssh远程执行python本地脚本_ssh远程执行命令方法和Shell脚本实例

    写这篇博客之前,我google了一堆相关文章,大都是说修改/etc/sudoers,然后NOPASSWD:指定的cmd,但是真心不管用,没有远程虚拟终端这个方法就是浮云,ubuntu10.04 ser ...

  3. 【Linux】《Linux命令行与shell脚本编程大全 (第4版) 》笔记-汇总 ( Chapter1-Chapter16 )

    一.初识 Linux shell Linux 系统可划分为以下 4 部分. Linux 内核 GNU 工具 图形化桌面环境 应用软件 内核主要负责以下 4 种功能. 系统内存管理 内核通过硬盘上称为交 ...

  4. 【Linux】《Linux命令行与shell脚本编程大全 (第4版) 》笔记-Chapter6-Linux 环境变量

    六.Linux 环境变量 bash shell 使用环境变量来存储 shell 会话和工作环境的相关信息(这也是被称作环境变量的原因).环境变量允许在内存中存储数据, 以便 shell 中运行的程序或 ...

  5. 20.27分发系统介绍;20.28expect脚本远程登录;20.29expect脚本远程执行命令;20.30expect脚本传递参数...

    20.27 分发系统介绍 shell项目-分发系统-expect 20.28 expect脚本远程登录 1. 安装expect [root@hao-01 ~]# yum install -y expe ...

  6. 远程连接Kali Linux使用PuTTY实现SSH远程连接

    远程连接Kali Linux使用PuTTY实现SSH远程连接 本书主要以在Android设备上安装的Kali Linux操作系统为主,介绍基于Bash Shell渗透测试.由于在默认情况下,在Andr ...

  7. Linux中怎么搭建SSH远程连接服务器

    文章目录 Linux中怎么搭建SSH远程连接服务器 一.远程连接服务器: 1.什么是远程连接服务器: 2.远程连接服务器的功能 3.常见的几种远程管理工具方式: 二.SSH连接加密技术: 1.非对称密 ...

  8. windows远程android传输文件,电脑(Linux/Windows)使用SSH远程登录安卓(Android)手机实现无线传输和管理文件(图文详解)-Go语言中文社区...

    电脑(Linux/Windows系统)使用SSH远程登录安卓(Android)手机实现无线传输和管理文件(图文详解) 温馨提示 本文只针对安卓(Android)手机!iPhone或者WP的手机用户,请 ...

  9. Linux服务器配置root用户ssh远程登录

    Linux服务器配置root用户ssh远程登录   开启root用户使用密码远程登录,使用xshell连接远程服务器. 1. 安装 openssh-server 查看是否安装 yum list ins ...

最新文章

  1. 揭秘高盛区块链报告:区块链技术在五大领域从理论走向实践 | 附报告下载
  2. Linux gsoap 访问Jira
  3. buuctf 你居然赶我走1
  4. 透露抖音、腾讯、阿里、美团招开发岗位硬核面试题,轻轻松松收到offer
  5. 1109 Group Photo (25 分)【难度: 一般 / 知识点: 模拟 排序】
  6. 为什么晚上咳嗽很厉害
  7. C++ 实现无向图的最小生成树Kruskal算法(完整代码)
  8. 虽然苏伊士运河大堵塞了,但是全球“玩家”收获了真实的快乐
  9. 转:在Linux中Oracle安装成功后,首次启动使用时,会出现的一些问题总结和解决办法...
  10. MySql 5.6 Packet for query is too large
  11. 【预测模型】人口结构可持续发展模型构建
  12. 中职计算机专业英语说课稿,中职英语基础模块说课
  13. 微信小程序 获取formId
  14. presto日期转换及计算
  15. Navicat自动生成SQL神器
  16. Flash activex控件版本信息
  17. AUTOSAR MCAL解析: ADC
  18. 全球与中国缓震田径鞋市场深度研究分析报告
  19. GPU-Z查看显卡参数和显卡状态
  20. Unity 输入法回车确定搜索 InputField.onSubmit InputField.onEndEdit

热门文章

  1. C#和javascript的简单交互
  2. C#只能lock 引用类型的值 (转载)
  3. mysql group by using filesort优化
  4. find指定具体时间参数-newermt
  5. nginx实现防止ddos攻击
  6. NetMarketShare:本月桌面浏览器市场份额几乎没有变化
  7. [翻译] OrigamiEngine
  8. C#学习笔记(一)变量 常量 基本数据类型 其它
  9. 《卓有成效的管理者》——读书笔记
  10. SD-WAN的体系结构是如何提高网络灵活性和效率?