jzjbyq 发表于 2021-10-9 09:56:18

天融信免插件调用本地SecureCRT完成一键连接服务器

本帖最后由 jzjbyq 于 2021-10-10 00:14 编辑


UOS环境,edge浏览器,已经本地注册了mime ,通过 x-ssh:// 可以调用起来SecureCRT想要通过油猴脚本调用xdg-open打开SecureCRT并传递参数可以实现点击网页上的按钮一键连接到远程服务器
在调用这里不懂怎么搞了,传递过去的参数中的空格被url转码成 %20 了, 似乎 root@ 也被忽略掉了
请各位指导一下我应该怎么处理


经过查询资料,调用的时候x-ssh://后边不能出现空格内容,否则将调用失败
想了一个中间办法,将参数内容使用base64加密,做一个解密并添加参数执行的x-ssh文件

建立一个x-ssh.sh文件,内容如下
`#!/bin/bash
if [ -n "$1" ]; then
    seorun=`echo ${1/x-ssh:\/\/}|base64 -d`
    /usr/bin/SecureCRT $seorun
fi`
测试的时候.sh文件不可以直接调用,可以使用shc -r -f x-ssh.sh 将脚本生成为二进制文件
将生成的 x-ssh.sh.x 移动并重命名到 /usr/bin/x-ssh
再创建一个x-ssh.desktop文件放到 /usr/share/application目录下
`
Name=x-ssh
Comment=local ssh trans
Exec=x-ssh %u
Icon=
StartupNotify=true
Terminal=false
Type=Application
Categories=Network;

Actions=Window;


Name=New Window
Exec=x-ssh %u
OnlyShowIn=Unity;
MimeType=x-scheme-handler/x-ssh`

注册mime类型
`xdg-mime default x-ssh.desktop x-scheme-handler/x-ssh`
油猴使用window.open("x-ssh://加密内容"); 就可以通过参数调用本地的SecureCRT进行连接了


做这个东西的动机是客户发来的服务器是通过天融信堡垒机进行安全连接
而我笔记本系统格掉Windows安装了UOS
该天融信版本不支持Linux客户端,无法安装单点登陆工具,只好通过虚拟机装windows来进行连接
好麻烦,于是就想着通过油猴来进行自动化的处理
本地调用是有看到过百度网盘点击下载时如果没有安装客户端,会弹出一个 xdg-open的链接
基本的思路完成,剩下的就是如何一步一步将这些东西脚本化
只懂得基本的网页和js的东西,从有想法到今天整体完成,经过了大概半个多月的时间
有点费劲儿,但是做成的时候瞬间感觉完美{:4_93:}

jzjbyq 发表于 2021-10-9 09:59:51

本帖最后由 jzjbyq 于 2021-10-10 00:29 编辑

补充:由于我这边仅有天融信的一个授权账户,无法查看天融信的版本,只能说是不支持Linux的老版本,如果有同样困扰的朋友,可以用这个脚本来方便操作。

脚本中修改了原putty连接工具调用的内容,将控件未安装的提示修改为一键连接本地SecureCRT

王一之 发表于 2021-10-9 10:08:07

打开被编码是正常的

另外我看代码,不像是一个正确的url。哥哥能不能发一个手动正确打开的url?

最后。。。发错板块了 特殊主题还移不了了。。。

'x-ssh:/// /ssh2 root@192.168.1.1 /P 22 /PASSWORD userpassword'

懒男孩 发表于 2021-10-9 10:12:01

王一之 发表于 2021-10-9 10:08
打开被编码是正常的

另外我看代码,不像是一个正确的url。哥哥能不能发一个手动正确打开的url?


楼主重新发一遍,然后这个删掉

jzjbyq 发表于 2021-10-9 13:47:04

王一之 发表于 2021-10-9 10:08
打开被编码是正常的

另外我看代码,不像是一个正确的url。哥哥能不能发一个手动正确打开的url?



UOS环境,edge浏览器,已经本地注册了mime ,通过 x-ssh:// 可以调用起来SecureCRT想要通过油猴脚本调用xdg-open打开SecureCRT并传递参数可以实现点击网页上的按钮一键连接到远程服务器
在调用这里不懂怎么搞了,传递过去的参数中的空格被url转码成 %20 了, 似乎 root@ 也被忽略掉了
请各位指导一下我应该怎么处理

tampermonkey_install

手机端没找到删除主题的按钮,晚上用电脑试试
window.open('x-ssh://');可以打开对应的程序
正常是在终端 SecureCRT /ssh root@192.168.1.1 /P 22 /PASSWORD userpassword
可以打开并连接
x-ssh:// = SecureCRT

jzjbyq 发表于 2021-10-10 00:16:13

王一之 发表于 2021-10-9 10:08
打开被编码是正常的

另外我看代码,不像是一个正确的url。哥哥能不能发一个手动正确打开的url?


今天运气爆棚,已经完成了脚本的编写,虽然比较乱,但是功能已经完全实现了
那么这样应该不用转移了吧?

jzjbyq 发表于 2021-10-10 00:20:02

懒男孩 发表于 2021-10-9 10:12
楼主重新发一遍,然后这个删掉

电脑登陆也没找到删除按钮,好在功能完成了,脚本也上传了,就不用删了吧{:4_93:}

王一之 发表于 2021-10-10 00:30:41

jzjbyq 发表于 2021-10-10 00:20
电脑登陆也没找到删除按钮,好在功能完成了,脚本也上传了,就不用删了吧 ...

嗯嗯
页: [1]
查看完整版本: 天融信免插件调用本地SecureCRT完成一键连接服务器