【开放下载】:SSH2Explorer
2022-8-28 23:52:55 Author: MicroPest(查看原文) 阅读量:13 收藏

    在2017-18年间写过一个工具:Ssh2Explorer,彼时是为了解决ssh2类工具爆有后门的问题,前面文中有过介绍SSH2Explorer一个linux/windows的远程登陆、文件传输工具,当时想用于替代xshell、putty等工具,因为那段时间爆出了很多的后门,我尝试着动手写了一个替代工具”,详见打造安全可靠的远程登录工具SSH2Explorer升级遇坑,打卡体验》。因为对ssh2不甚了解,一直就存下了解的念头,2017年时这个契机来到,就用习惯的解决方式“编程”来深入了解它。

为了照顾大家的使用,我将前文中的部分段落摘抄过来。

使用指南:

采用windows(保留了ssh命令行方式)左右栏式,左边为树形的浏览器展示方式,右边为linux的平面化展示方式,直观象。

2、开发平台及协议介绍

2.1 开发平台为windows10,对象为Linux、Windows服务器。

2.2 SSH2 协议的构成

传输层协议: 通常运行在 TCP/IP 的上层,是许多安全网络服务的基础,提供了数据加密、压缩、服务器认证以及保证数据的完整性。比如,公共密钥算法、对称加密算法、消息验证算法等。

用户认证协议:运行在 SSH 协议的传输层之上,用来检测客户端的验证方式是否合法。

连接协议:运行在用户认证层之上,提供了交互登录会话、远程命令的执行、转发 TCP/IP 连接等功能,给数据通讯提供一个安全的,可靠的加密传输信道。

2.3 SSH2 协议的认证

常见的 SSH 协议认证方式有如下几种:

口令验证方式(password authentication method),通过输入用户名和密码的方式进行远程机器的登录验证;

公共密钥安全验证方式(public key authentication method),通过生成一组密钥(public key/private key)来实现用户的登录验证;

键盘交互验证方式(keyboard interactive authentication method),通过服务器向客户端发送提示信息,然后由客户端根据相应的信息通过手工输入的方式发还给服务器端。

2.4 SSH2 协议算法

程序使用了github上开源的ssh2库文件;

3、使用说明

3.1、从界面上看分为三部分:上部分为登录区,下部分为操作区(下左部为windows窗口,下右部为Linux窗口)。

3.1.1在登录区为登录条件:服务器IP、端口号、用户名、密码、公私钥文件、认证方式类型。

默认情况下我们只需要IP、Port、Username、Password四个参数,Authentication Type默认采用全选方式。

认证方式(Authentication Type)类型:主要分为四种“口令密码、键盘交互、公钥、公钥代理”。

3.1.2 windows窗口区:上面一排是功能按钮,分别是“创建、删除、系统、显示图标(大、小、细节)、选择开关、上传”。

3.1.3 Linux窗口区:上面一排是功能按钮,分别是“创建文件/夹、删除、设置权限、文件改名、创建Link、解除Link、Shell、下载”。

 3.2、登录后,

   登陆成功后,右侧出现Linux机器的文件,同时显示“【linux已连接】 路径:/root”。

    3.3、中间的功能区:

    3.4、下半区展示区:

    先要打开左侧的选择开关,如图:

点击“传输文件”按钮后,出现提示,如图:

询问是否上传到“/root”,如果不是可以自行修改位置。

    3.5、从Linux传输文件到Windows,如图:

先进行文件选中,再点击传输按钮,如图:

选择要传输到的位置,确定后开始。

由于涉及到linux下目录、文件的递归,调试起来十分繁琐、难受,花费了大量精力,图示一段此处的源代码展示:

    3.6、linux的命令行模式,如图:  

      其他常用功能,我就不做过多地介绍;这里介绍下右边的shell窗口,就是图中右边的黑色窗口;这个是对SSH命令行方式的保留,毕竟有些人习惯于使用命令行。

输入密码,

可以进行命令行的操作了。

4、登陆Windows:

输入帐号、密码就会调用mstsc.exe来登陆。

下载地址:

链接:https://pan.baidu.com/s/1Hx5H5eLF2GhX8N1IYvAPkQ

提取码:gqhh

    后记:虽然在使用体验、软件功能上不如xshell等成熟工具,但胜在是自己的东西,用得放心。程序在2018年后就没有进行过升级了,一方面是达到了既定目标,一方面也是没有继续开发的动力了。从编程角度上看,这个工具软件的开发难度还是挺大的,期间看了些ssh2的开源代码,借鉴了其中的一些思想和技巧,但当自己动手时还是感觉万般地难,尤其是调试时那真是头晕目眩又不能放弃,写循环时才觉得智商高和数学好是多么地重要。再次回忆很多细节都记不住了,唯有苦难历历在目。分享给大家,水平有限,请多多包涵。


文章来源: http://mp.weixin.qq.com/s?__biz=MjM5NDcxMDQzNA==&mid=2247487376&idx=1&sn=24399eb7e83932cec14848c706eb180b&chksm=a682d95d91f5504b2ec833d79fef24283378c244c8f10320b3f20742b381ba796eb7199f1714#rd
如有侵权请联系:admin#unsafe.sh