非交互式批量命令处理ssh客户端

最近有需求,要在程序中通过ssh登录到一台服务器上批量执行bash命令脚本。在网上搜索到libssh2-1.8.0的ssh开发库源代码,于是在此基础上写了一个例程ssh2_batch。


源码ssh2_batch.c放在了libssh2库的example目录下,执行configure/make即会编译出可执行文件ssh2_batch。首先来看使用方法:

root@localhost:~/work/libssh2-1.8.0$ ./example/ssh2_batch
Usage:  ssh2_batch destination username password batch_file prompt
        destination      ssh server ip address
        username         login username
        password         login password
        batch_file       bash commands file
        prompt   ssh server prompt key after login

root@localhost:~/work/libssh2-1.8.0$

前三个参数依次为ssh sever服务器的IP地址、登录用户名和登录密码。batch_file参数用来指定需要批量执行的bash命令所在的文件名;prompt参数指定登录ssh server后,ssh命令行的提示符,ssh2_batch例程根据此参数判断单条命名是否执行完成、是否开始执行下一条命令,prompt需要由唯一性。


示例batch_file文件,实现在test目录下创建一个文件new_file_by_ssh2_batch:

cd test

touch  new_file_by_ssh2_batch


已经编译完成的可执行文件ssh2_batch以及libssh2-1.8.0的源代码位于一下连接:

libssh2-1.8.0-w-ssh2_batch



阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_20184565/article/details/80686136
文章标签: ssh
个人分类: 应用
想对作者说点什么? 我来说一句

libssh2-1.8.0 and ssh2_batch example

2018年06月13日 850KB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭