Linux下非交互式远程执行命令脚本

Linux下非交互式远程执行命令脚本(比ssh更好的方式)

openssh在每台机器上都有,ssh与scp经常出现在我们的生活中。

然而当要管理的机器规模越来越大时,ssh登陆到目标机器进行管理就变得不现实了。

虽然可以直接在ssh后面接命令的方式,进行命令的执行。 但是ssh的严格的权限认证使得我们不得不输入密码,或是建立信任关系,很难去自定义一个特定的认证方式。

基于ssh的这种不足。于是笔者就写了一个jetfire,这个工具。比ssh多的一个重要的功能就是可以自定义认证方式,顺便避免了ssh一个潜在的bug。

bug是这个样子。这里举个例子,假设目标机器是example.com

[python]

ssh example.com echo "hello world"

执行这个命令,看到的输出,不是

[python]

hello world

而是

[python]

hello world

猜测ssh是把 echo "hello world"这个命令,转化成字符串,然后用bash -c 去执行的。写jetfire的时候,顺便修了这个问题。

jetfire的用法也很简单。

jetfire -h example.com 命令放在后面就可以了

eg: jetfire -h example.com echo hi boy

对于多个机器的话,方法也很简单 jetfire -h example1.com,example2.com echo hi boy

执行结果就像这个样子。



如果我们把机器列表写到一个文件里,比如host.list,结合xargs命令,可以写出更高级的方法

cat host.list | xargs -r -i{} jetfire -h {} echo hi boy

安装也很简单, 下载https://github.com/shxsun/jetfire/blob/master/jetfire0.9-arm64.tar.gz,解压后, 切换到root,sh install.sh 就算安装上了, /etc/init.d/jetfirectl start启动服务进程。

(0)

相关推荐

  • Linux下的基本操作和常用命令

    随着mono的发展,asp.net也实现了跨平台的开发,而要mono在Linux下跑起来,也需要掌握一些Linux的操作,以下为大家总结了一些关于Linux的基本操作。 Linux命令基础操作 一、S ...

  • Linux下最常用的Shell命令的介绍(图文)

    有些人仍然会有这种愚蠢的想法,他们认为使用Linux就必须使用Linux shell命令。胡说!你可以不懂得任何Linux命令,比如说ps,grep,ls等,但是你仍然可以使用很多现代的Linux桌面 ...

  • linux下的删除重复行命令uniq详细介绍和实例

    一,uniq干什么用的 文本中的重复行,基本上不是我们所要的,所以就要去除掉。linux下有其他命令可以去除重复行,但是我觉得uniq还是比较方便的一个。使用uniq的时候要注意以下二点 1,对文本操 ...

  • Linux下5个有趣的命令行技巧介绍

    你有将Linux物尽其用吗?对很多Linux用户来说,有很多看起来是技巧的有用特性。有些时候你会需要这些技巧。本文会帮助你更好得使用一些命令,发挥其更强大的功能。 图1:5个命令行技巧 我们开始一个新 ...

  • Linux下如何自己手动使用命令挂载/卸载USB设备

    Linux系统下通常都会自动挂载USB设备,如果没有自动挂载的话就需要自己手动挂载USB设备了,那么Linux下要如何挂载USB设备呢?不需要的时候又要如何卸载呢?一起来了解下吧。 在挂载之前需要确定 ...

  • Linux下用于对比文件的diff命令使用教程

    总览 diff [选项] 源文件 目标文件 描述 在最简单的情况是, diff 比较两个文件的内容 (源文件 和 目标文件). 文件名可以是 - 由标准输入设备读入的文本. 作为特别的情况是, dif ...

  • 如何在linux下创建一个可运行shell脚本?

    linux系统下,经常会用到自启动脚本,那么如何新建一个自启动脚本? 操作方法 01 新建一个.sh文件,touch test.sh 02 编辑test.sh文件,vi test.sh 然后键入i,输 ...

  • linux下使用fdisk结合partprobe命令不重启系统添加一块新的磁盘分区

    主机自带硬盘超过300GB,目前只划分使用了3个主分区,不到70GB,如 下: [root@db2 ~]# df -h Filesystem Size Used Avail Use% Mounted ...

  • Linux下限制Root远程登陆

    限制用户 root 远程登录,对保证计算机系统的安全,具有实际意义。本文向大家介绍一些方法,能达到限制 root 远程登录的目的。 方法一:在/etc/default/login 文件,增加一行设置命 ...