# ssh4all **Repository Path**: ljhahu/ssh4all ## Basic Information - **Project Name**: ssh4all - **Description**: 通过SSH创建隧道、连接数据库、连接网络,以及更多…… - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2022-12-05 - **Last Updated**: 2023-06-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SSH4ALL ## 一、已完成功能 - 创建隧道✔ - 调用接口启停环境✔ - 同时建立多个隧道✔ - 同时映射到多个端口✔ - 生成接口文档&拆分controller:http://localhost:8090/swagger-ui.html ✔ - 远程调用示例:https://console-docs.apipost.cn/preview/b4c365385c5bba91/3a5e9fa4c55eab7f - windows脚本方式后台执行✔(后台启动方式:https://blog.csdn.net/m0_54853503/article/details/126385955) - java -cp运行指定类(可以使用envName或properties参数)✔ - 通用返回值+枚举✔ ## 二、使用方式 - 远程调用:http://172.16.5.162:8090/hello - 通过get请求验证服务正常启动:http://localhost:8090/hello - 通过get请求通过环境名读取配置文件,建立单个隧道:http://localhost:8090/createSshEnv?EnvName=safun - 通过get请求关闭隧道:http://localhost:8090/closeSshEnv - 通过get请求输入每项参数建立隧道:http://localhost:8090/createSshEnvByGetParam?host=122.226.219.54&port=321&user=bigdata&password=boulderai123&rhost=192.168.4.68&rport=5432&lport=4352 - 通过post请求输入json建立单个隧道:http://localhost:8090/createSingleSshEnvByPostParamJson - 参数: ``` { host:"122.226.219.54", port:321, user:"bigdata", password:"boulderai123", portMappingEntityList:[{"rhost":"192.168.4.68","rport":5432,"lport":4252}] } ``` - 通过post请求输入json建立单个隧道:localhost:8090/createMultiSshEnvByPostParamJson - 参数: ``` { host:"122.226.219.54", port:321, user:"bigdata", password:"boulderai123", portMappingEntityList:[{"rhost":"192.168.4.68","rport":5432,"lport":4352},{"rhost":"192.168.4.68","rport":5432,"lport":4452}] } ``` - 通过jar包输入参数(环境名):java -cp ssh4all-env-name.jar com.jhliu20.config.SshEnvConfig -Denv=safun - 通过jar包输入参数(文件名):java -cp ssh4all-properties-name.jar com.jhliu20.config.SshEnvByPropertiesConfig -Dproperties=envList/safun.properties ## 三、打包方式 ### 1、本地打包 - 默认:java -jar xxx.jar - 指定端口:java -jar xxx.jar --server.port=8090 ### 2、远程打包(目前存在问题,只能本地使用) 参考:https://blog.csdn.net/X_huiyang/article/details/123926346 - 打包:mvn clean install - 创建后台日志文件:sudo touch nohup-ssh4all.log - 更改文件组及所属用户:sudo chown bigdata:bigdata nohup-ssh4all.log - 查看java绝对路径:cat /etc/profile - 启动命令:sudo nohup /home/bigdata/tools/jdk1.8.0_291/bin/java -jar ssh4all-1.0-SNAPSHOT.jar > nohup-ssh4all.log & - 验证:curl -X GET http://localhost:8090/closeSshEnv ## 四、脚本执行方式 ### 1、windows - 启动脚本:start.bat - 停止脚本:stop.bat ### 2、Linux ## 四、项目规划 - Windows脚本方式日志重定向&前台打印 - 打成jar包一键生成隧道+controller - 提供数据库支持(JDBC/mybatis/各大数据库) - 得到.sh文件调用方式(java代码转换为sh脚本) - 基于不同用户建立不同的隧道 - 日志重定向 - dockerfile上传容器 - 登录注册界面 - 连接数据库 - 加入其他功能:翻墙、自己电脑构建跳板机 - 实现vpn的功能,可以直接访问内网地址(解决苹果电脑或无法配置vpn的麻烦)