소스 검색

优化完善sshd模块代码

niujiuru 1 주 전
부모
커밋
3fc05b052b
4개의 변경된 파일34개의 추가작업 그리고 21개의 파일을 삭제
  1. 1 1
      .vscode/settings.json
  2. 14 0
      sshd/client/config.ini
  3. 0 19
      sshd/client/main.go
  4. 19 1
      sshd/readme.txt

+ 1 - 1
.vscode/settings.json

@@ -9,4 +9,4 @@
     "*.sh": "shellscript",
     "*.md": "markdown",
   }
-}
+}

+ 14 - 0
sshd/client/config.ini

@@ -0,0 +1,14 @@
+[MQTTSrv]
+; 地址端口
+BrokerAddress = tcp://www.hnyfwlw.com:61883
+; 用户名称
+Username = user
+; 接入密码
+Password = f335bf402c655ee5fd2b5300905124e
+
+; 耗时命令, 命令超时的时间单位为秒
+; 有其它耗时命令时,可仿照扩展追加
+; 节名任意, 但包含的字段内容必须是: "Prefix"和"Timeout"
+[ftp_trans_file]
+Prefix  = ./ftp_trans_file
+Timeout = 600

+ 0 - 19
sshd/client/main.go

@@ -1,23 +1,4 @@
 package main
 
-import (
-	"strings"
-	"time"
-)
-
-const (
-	fastTimeout = 10 * time.Second
-	slowTimeout = 10 * time.Minute
-)
-
-func GetCmdDefaultTimeout(cmd string) int { // 单位: 秒
-	switch {
-	case strings.HasPrefix(cmd, "yfkj_ftp_client"):
-		return int(slowTimeout.Seconds())
-	default:
-		return int(fastTimeout.Seconds())
-	}
-}
-
 func main() {
 }

+ 19 - 1
sshd/readme.txt

@@ -1 +1,19 @@
-借助MQTT实现远程控制Linux设备的SSH服务和客户端
+借助MQTT实现远程控制Linux设备的SSH服务端和客户端
+
+1, 整体使用JSONRPC2.0 OVER MQTT的技术方案来架构
+
+2,服务端使用:
+- 在具体的项目代码中调用该模块的: “ModuleInit()” 函数启动初始化、安装和运行
+- 在具体的项目代码中调用该模块的: “ModuleExit()” 函数完成退出、停止服务运行 
+
+3,服务端原理:
+- 服务端启动时,会连接到MQTT Broker,订阅主题:/yfkj/device/rpc/imei/cmd,接收来自客户端的指令
+- 服务端启动时,会连接到MQTT Broker,发布主题:/yfkj/device/rpc/imei/ack,向客户端发送指令结果
+
+4,客户端使用:
+- 会编译生成可执行程序“yfkj_ssh_client”,目前支持Linux64和Windows64上位机
+- 通过配置文件配置MQTT Broker的地址、用户名、密码以及一些耗时命令的超时时间
+
+5,客户端原理:
+- 客户端启动时,会连接到MQTT Broker,发布主题:/yfkj/device/rpc/imei/cmd,向服务端发送指令请求
+- 客户端启动时,会连接到MQTT Broker,订阅主题:/yfkj/device/rpc/imei/ack,接收服务端的指令结果