项目简介
本项目是基于C/C++语言开发的简单主机管理程序,借助ssh实现对多台主机的管理,支持cmd命令执行和sftp文件传输。项目源于老师布置的任务,虽部分功能有瑕疵,但已具备基本的主机管理能力。
项目的主要特性和功能
- 主机分组管理:支持简单的主机分组,可指定部分主机或主机小组执行cmd命令,默认命令作用于所有主机。提供退出保存数据(_q)、修改主机所属组(_cg)、展示配置文件(_cat)、指定小组主机执行命令(_sg)、指定主机执行命令(_s)等操作。
- 文件传输功能:利用libssh2库完成文件传输,已实现文件下载功能,上传功能尚待完善。
- 后续待实现特性:计划实现非阻塞与多线程功能以提高效率和使用体验,目前因经验不足,先完成主要功能。
安装使用步骤
环境要求
需使用Linux系统,建议使用Ubuntu虚拟机以避免环境变量配置的困扰。
安装支持库
先对系统进行更新和升级,然后安装以下库:
- openSSL:apt-get install openSSL
- Libgcrypt11:apt-get install Libgcrypt11-dev
- libssh2:
1. wget http://www.libssh2.org/download/libssh2-1.4.3.tar.gz
2. tar -zxvf libssh2-1.4.3.tar.gz
3. ./configure
4. make
5. make install
编译
若对代码做出修改后重新编译,需设置环境变量 LD_LIBRARY_PATH=.
:
- 设置:export LD_LIBRARY_PATH=.
- 查看:echo $LD_LIBRARY_PATH
参数说明
- manager4的参数在代码中有详细说明。
- sftptest.c的使用命令为
./sftptest ip username password filepath -p
,从多台主机下载文件时,文件命名为ip+filename 。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】