OmniTTY批量ssh登陆操作

 

一、omnitty概述

 

在生产环境中,可能会有多台linux主机。运维人员可能会对多台主机进行同样的操作,例:同时在多台主机上添加一个user或查看所有主机的硬件信息,如果没有批量操作工具,设备少于20台还勉强可以手动操作,当设备很多(100+)还手动操作的话······

 

Omnitty是基于ssh的批量登陆工具,可批量登陆多台基于ssh的主机(linux等),并且使多台主机同时执行一样的命令。在多台主机重复劳动很适合。

 

官方地址:http://omnitty.sourceforge.net/

在官方地址下载libROTE Library Home Pageomnitty,其中libROTE Library Home Pageomnitty的安装需要的动态链接库文件(librote.so.0)。

 

本人下载到的版本:

rote-0.2.8.tar.gz

omnitty-0.3.0.tar.gz

编译安装正常。

 

二、安装omnitty

 

1、 tar -zxvf rote-0.2.8.tar.gz

cd rote-0.2.8/

./configure

make

make install

 

2tar -zxvf omnitty-0.3.0.tar.gz

cd ../omnitty-0.3.0/

./configure

make

make install

 

3、添加libROTE动态链接库到/etc/ld.so.conf

安装直接执行omnitty会报错:

omnitty: error while loading shared libraries: librote.so.0: cannot open shared object file: No such file or directory

提示没有找到librote.so.0

 

whereis librote.so.0

librote.so: /usr/local/lib/librote.so.0 /usr/local/lib/librote.so

librote.so.0库已安装,路径在/usr/local/lib/

 

默认的/etc/ld.so.conf

cat /etc/ld.so.conf

/usr/X11R6/lib64/Xaw3d

/usr/X11R6/lib64

/usr/lib64/Xaw3d

/usr/X11R6/lib/Xaw3d

/usr/X11R6/lib

/usr/lib/Xaw3d

/usr/x86_64-suse-linux/lib

/usr/local/lib

/opt/kde3/lib

/lib64

/lib

/usr/lib64

/usr/lib

/usr/local/lib64

/opt/kde3/lib64

include /etc/ld.so.conf.d/*.conf

/etc/ld.so.conf文件末尾添加/usr/local/lib,保存并推出。

执行:ldconfig

 

提示:

etc/ld.so.conf记录了编译时使用的动态链接库的路径。默认情况下,编译器只会使用/lib/usr/lib这两个目录下的库文件。如果安装了某些库文件例librote.so.0,需要在etc/ld.so.conf添加库文件的路径,这样 ldd 才能找到这个库。

 

ldconfig位于/sbin下,是root执行的程序。它的作用就是将/etc/ld.so.conf列出的路径下的库文件缓存到/etc/ld.so.cache 以供使用。因此当安装完一些库文件,(例如刚安装好glib),或者修改ld.so.conf增加新的库路径后,需要运行一下/sbin/ldconfig使所有的库文件都被缓存到ld.so.cache中,如果没做,即使库文件明明就在/usr/lib下的,也是不会被使用的,结果编译过程中抱错,缺少xxx库,去查看却发现明明就存在。

 

三、omnitty使用

 

注意:omnitty是基于ssh的批量登陆操作程序,所以在执行操作时必须要注意ssh的用户权限,以免造成不可估量的损失。

Omnitty默认使用执行此程序的user来进行ssh登陆操作

 

1、创建主机列表

在装有omnitty的主机上创建一个需要批量操作的主机列表,例:

vi host

192.168.40.128

192.168.40.129

······

此列表文件每台主机的ip要以回车分隔,执行omnittyuser要有对文件的权限。

 

2、执行omnitty

linux-b779:~ # omnitty

 

F1:操作菜单

F2/3:向上/向下选择主机

F4:标记/取消标记主机

F5:添加主机

F6:删除主机

F7:广播

 

 

F1菜单详细指令:

r:对主机重命名(只是为了标记清楚,并不是更改hostname

t:标记所有主机(即选中所有主机)

q:退出程序

 

 

添加主机:按F5,程序左下角会提示“add”,在此后面填写主机列表,

格式:@/root/host

用主机列表添加主机的方法,ssh登陆的用户是默认执行omnittyuser,不能写成user@hostlist.txt,这样是不成功的。

如果想以固定账户登陆,就不能使用主机列表的方式,而是写成类似于ssh登陆的语法:user@x.x.x.x,但是这样就失去了部分omnitty的意义,因为你得手动填写一系列的主机列表,不够智能。

 

 

 

 

输入主机列表后,按F1---t选择全部主机(选择的主机名为绿色),再按F7广播操作命令,即操作对选中的所有主机生效。执行广播命令要慎重!!!

 

在实际操作中可按F2/F3来选择相应的主机界面,按F4标记或取消标记一台主机,用F6来删除一台主机,根据实际情况具体应用。