|

楼主 |
发表于 前天 23:07
|
显示全部楼层
河南省南阳市
本帖最后由 781732825 于 2025-3-29 23:19 编辑
由于编写代码的时候没有写太多的备注,现在补充下指令类的相关信息,方便用户二次修改。
1、如果SSH终端显示乱码,请务必使用在连接的时候使用 dumb终端,然后在登入SSH成功后,执行【禁用颜色】或者【export TERM=dumb; exec bash】用于告诉SSH服务器, 此终端不要颜色代码,请不要输出Ansi颜色编码。这样就不会乱码了。但在vi / nano 编辑器内使用还可能会有些问题,但具体也不研究了,基本够用了。
2、在设置SSH服务器登入信息的时候,请务必删除源码中的编辑框中的默认私钥信息,否则将会以私钥的方式进行登录(有私钥的情况下,用私钥。私钥为空的情况下才会使用密码登录),会导致你登录不上去。
3、ping 等命令,需要使用 Ctrl +C 或者其他按键的时候,请使用【控制命令】进行发送。
4、SSH2_认证_内部认证中使用的【Init_Yz_Cmd (“781732825”, “ab123456”)】,该账号密码,请使用子程序下的 参数 - 账号 , 参数 - 密码,也就是 Use:testtest,密码:testtest123456 进行登录,781732825是我自己的账号,密码可能会在后期进行修改,修改后可能就无法通过认证,需要修改成 testtest 认证,或者你自己通过 Web 认证自己注册一个账号进行认证。
客户Duan发送的指令类型:
list=cha询已连接的SSH会话
disconnect=关闭已连接的SSH会话
command=发送普通指令,如ls / ping / cat等指令,这些命令都是以文本,然后对其进行Base64编码后发送到服务器。
command_control=发送控制组合键指令,如Ctrl+C等,该指令与 command 的区别是,将欲发送的指令,不要识别成文本,直接转成控制编码,然后对其Base64编码发送到服务器(比如说 command 发送的 Ctrl+C , 控制码是 \x03 ,你用 command 发送 \x03 ,它会将 \x03 识别成文本进行BASE64编码,但用 command_control 就会识别成 字节数字 { 3} , 然后进行BASE64编码的结果是 Aw== ,服务器解码 Aw== 就是 Ctrl + C)。
conn=连接SSH服务器,以密码方式登录SSH服务器。
conn_cer=连接SSH服务器,以证书/私钥的方式登录SSH服务器
command_sftp_* = SFTP相关的指令()。
客户Duan收到的回调类指令信息( 处理SSH数据 -> JSON数据中的 type 进行判断指令类型):
通用:conn_id = 客户Duan定义的会话ID编号,任何一个回调函数均有此 conn_id,意思告知那个SSH会话的回调消息。
---------------------------
type=output,SSH会话输出内容(可以理解为SSH交互终端中 显示的内容 或 被更新的新内容 )
type=list ,返回服务器当前已连接的SSH会话列表。
type=error , 错误消息,如:SSH连接失败,密码不正确,SFTP操作失败(设置用户属主ID,属主ID不存在等出现错误的情况)等情况下回调的消息。
type=progress , 进度回调,只在SFTP的上传 / 下载时会进行触发的消息函数,用于告诉你上传或者下载的进度、速度、时间等信息,该progress消息由服务器3秒左右推送一次,如果上传或者下载,在3s内完成则不会触发该progress回调,但会在完成后触发 sftp_response 消息。
type=sftp_response , SFTP进度回调,SFTP相关操作指令完成后进行的回调。比如说 上传、下载、删除、移动、设置权限 等,所有的SFTP指令在操作完毕后都会触发该回调消息。
|
|