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


