Myssh

Myssh v1.3发布——2010年02月6日
myssh-v1.3.6下载
简介:

Myssh是我为方便自己工作而编写的一个linux下的ssh命令行前端, 采用bash编写, 以GPLv3发布, 适合系统管理员使用, 功能如下:

1. 服务器列表分组管理
2. 服务器批量登录
3. 服务器批量执行命令
4. 自动补全选项、IP地址、服务器分组
5. 整合scp、ping、traceroute、mtr
6. 允许远程expect提升权限
7. 可分全并行、可控制并行、串行三种执行模式
8. 拥有log记录
9. 拥有选择菜单
10. 可配合多种terminal,首推荐konsole(它拥有多tab输入功能)

服务器列表记录格式:

分组1:分组2:分组3:IP地址#别名#用户名#端口号#描述字符串

1. 分组不限层次
2. 别名、用户名、端口号、描述字符串可以为空,如果这四个字段全为空,4个#可以省略
3. myssh支持多个列表
4. 用户名、端口号如果为空,myssh将采用选项指定值或者myssh内部默认值

Myssh服务器列表样例:

test:all:123.123.123.123#testserver#igi#22#
test:all:123.123.123.124####
test:new:all:123.123.123.125####
test:new:all:123.123.123.126####
foo:new:all:123.123.123.127####
foo:new:all:123.123.123.128####
foo:new:all:123.123.123.129####

Myssh选项列表:

Usage: myssh [[group] [class] [sname] [ip]]
             [-l|--list [-ip|--ipaddress] [string]]                #列出列表
             [-ip|--ipaddress [string]]                            #只列出IP地址
             [-e|--exec 'command $ip|$user|$port' string]  #执行命令
             [-re|--remote-exec 'command' string]            #远程执行命令
             [-s|--scp 'options file :path'|'options :path file' string] #调用scp
             [-p|--ping string]                                          #调用ping
             [-kp|--quick-ping string]                               #快速ping
             [-t|--traceroute string]                                  #调用traceroute
             [-mtr|--mtr string]                                        #调用mtr
             [-P|--port port]                                            #指定port
             [-A]                                                           #打开ssh -A选项
             [-D [bind_address:]port]                              #打开ssh -D选项
             [-np|--no-parallel]                                        #不使用并行模式
             [-pnum|--parallel-numbers numbers]             #指定可控并行时的并发数量
             [-root|--root]                                               #远程su到root
             [-sl|--safelog]                                             #保留多次log
             [-u|--user user]                                          #指定用户
             [-m|--modify]                                             #修改服务器列表,调用vim
             [-i|--input iplist [options]]                            #指定临时外部列表
             [-o|--option var=value]                                #指定内部变量
             [-h|--help]
             [-v|--version]

Myssh安装配置方法:
1.自动补全设置:在bashrc文件中添加以下语句, 确保myssh在PATH搜索路径中
complete -W “myssh -c” -o default myssh

2.配置常用的内部变量, 在myssh文件头部, 根据需要自己调整变量参数
例如, 修改myssh默认调用的terminal为xterm(默认为konsole)

vi myssh
default_terminal='konsole' 改为 default_terminal='xterm'

默认支持gnome-terminal, konsole, xterm, 如果需要使用自己常用的terminal, 需要修改check_terminal函数, 增加相应的支持, 推荐konsole是因为它有多tab复制输入,十分方便

3.其他常用的内部变量都可以通过-o var=value的方式在运行时临时修改
例如,临时让myssh调用xterm打开ssh登录

$ myssh -o default_terminal='xterm' test new

Myssh用法:
1.登录同时属于是test组与all组的服务器

$ myssh test all

2.登录别名是testserver的服务器

$ myssh testserver

3.登录IP为123.123.123.129的服务器

$ myssh 123.129

4.快速检查所有服务器的ping情况

$ myssh -kp .

5.在远程服务器批量执行命令

$ myssh -re 'uptime' test new

6.在本地批量执行相应的命令

$ myssh -e 'echo $ip $user $port' test new

7.批量传送文件到远程服务器

$ myssh -s 'test.file :~/' test new

8.批量传送远程服务器文件到本地

$ myssh -s ':~/test.file .' 123.129

9.在远程服务器用root执行命令

$ myssh -root -re 'whoami' test new

更多选项请查看myssh -h

添加评论