资 源 简 介
bsshell是使用ssh服务进行远程linux服务器管理程序。方便用在脚本和后台。
bsshell包括了两个C实现的程序:bssh和bsftp。正如程序名字所示,这两个程序的使用方法与ssh和sftp一样,只是提供了一个-p选项,可以在命令行里给出密码。bssh和bsftp,可以用在后台,放入管道,一如本地普通的shell命令。这样一来与bash配合,就有了一个一对多的远程服务器管理框架,可以批量处理unix服务器管理任务。
bssh和bsftp部署方便。在源码目录下执行make final即可得到bssh、bsftp、parser和tt2程序。
正如bssh和bsftp名字所暗示的一样,这两个程序分别与ssh和sftp使用形式大致一样,并且支持相应程序的-o选项。只是bssh和bsftp提供了一个-p选项,用以提供登录密码。比如:
./bssh -p passwd login_name@host ls "touch 123" "rm -f 123" ls
并且bssh还提供了一个-r选项,用以提供su命令需要的root密码。就是说如果执行如下的命令:
./bssh -p passwd -r rootpasswd login_name@host ls "touch 123" "rm -f 123" ls
那么,bssh会自动su成root用户,逐一执行参数里给出的命令。这样就可以在脚本和后台利用ssh了,尤其是和bash结合使用,很多管理工作就很方便了。但是,只有bssh、bsftp和bash仍有不足。尤其是bash对特殊字符解释的特性,服务器复杂的ssh登录配置,都令人抓狂。这个时候你就可以使用tt2了。
tt2使用parser解析给定的配置文件,得到关于需要登录的服务器和相应的ssh登录配置参数(包括密码),然后调用bssh或者bsftp,进行ssh登录。比如,假设我们有一个配置文件ip,其内容如下:
user=test
passwd=testpasswd
rootpasswd=testrootpw
port=22
192.168.1.10
192.168.1.20
192.168.1.30
那么如下命令:
./tt2