打造安全可靠的远程登录工具SSH2Explorer

admin 2022年8月28日08:24:08评论26 views字数 2826阅读9分25秒阅读模式

题外话:今天终于下雪了,看到飘飘洒洒、爆米花般大小的雪花,心情大好;关于微信公众号,我也经历了一个陌生到不陌生的过程,从最初的“原创”到“白名单”、再到现在的“赞赏用户”,一直得到了朋友们的指点和帮助,感谢!


摘要在目睹了两、三年前的xshell、putty等安全工具陆续爆出后门、相关行业连锁而来的恐慌,深感登录器的安全重要性,于是从2017年底历时半年多开发了一款基于SSH2协议的安全登录工具,替代传统使用的第三方工具,保障服务器的这个环节安全,并实现了windows/linux的双向传输。


    一、背景

在实际的工作中,很多目标机器往往是我们无法直接操作的,可能是一个在大洋彼岸的客户环境。这时候我们需要远程登录到目标机器执行我们的操作。我们常见的远程登录协议有 SSH、Telnet 等。Telnet 使用的是明文传输,相对应的SSH 协议的安全性就高了很多。这样的特性,也使得 SSH 协议迅速被推广,很多的大型项目中都使用到了这个协议,现在普遍使用的是SSH V2协议。

那么,使用SSH2是安全的吗?答案是肯定的,但近年来出现了一些问题,即“有心人”在第三方的SSH工具中加入各种各样的“佐料”,导致“SSH工具后门”事件层出不穷,如近年爆出的“xshell后门”、“putty后门”、“SecureCRT后门”、“SCP后门”等,收集、回传用户的帐号和密码行为,引起安全行业一片哗然,一时间纷纷查看自己使用的SSH工具是否在中招行列。

打造安全可靠的远程登录工具SSH2Explorer

打造安全可靠的远程登录工具SSH2Explorer

打造安全可靠的远程登录工具SSH2Explorer

作为一个服务器重要的登录管理工具,这些从网上下载来的第三方的SSH类工具,不排除有鱼龙混杂的嫌疑,我们在使用的过程中还是有一些担心,尤其是在管理我们的核心服务器时。

二、开发目的

以上几款管理工具在全世界有着广泛的使用群体,使用者无论是哪种类型的登录工具,只要从网上下载过来的,都有被人下黑手的可能。因为工作的需要,我们也会涉及到一些非常敏感的服务器,如果不小心使用了被加入后门的工具,那可就麻烦了。对安全问题,我们还是小心为上。

    基于以上安全需求和工作需要,我们利用半年时间打造了一款基于SSH2协议的Linux安全管理工具SSH2Explorer,主要用于对Linux服务器的管理(后期加入了windows的mstsc),囊括了基本的上传、下载、shell等SCP功能。

 

    三、软件界面

    1、双击SSH2Explorer.exe,程序运行的界面如图:

打造安全可靠的远程登录工具SSH2Explorer

    四、使用指南

为了照顾使用习惯,程序采用了windows的界面方式,当然也包括了熟悉的命令行方式;从上图中可以看到左边为树形的浏览器展示方式,右边为linux的平面化展示方式;相当于两个平台间的传输(左windows、右linux),形象。

 

2、开发平台及协议介绍

2.1 开发平台为windows10,使用对象为Unix、Linux系列服务器,在2.5版本中加入了对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、端口号(Port)、用户名(Username)、密码(Password)、公私钥(Public/Private Key)文件、认证方式(Authentication Type)类型。

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

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

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

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

 3.2、登录后,打造安全可靠的远程登录工具SSH2Explorer

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

    3.3、现在看中间的功能区:

打造安全可靠的远程登录工具SSH2Explorer

    3.4、下半区展示区:

    在传输文件到右侧linux前,先要打开左侧的选择开关,如图:

打造安全可靠的远程登录工具SSH2Explorer

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

打造安全可靠的远程登录工具SSH2Explorer

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

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

打造安全可靠的远程登录工具SSH2Explorer

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

打造安全可靠的远程登录工具SSH2Explorer

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

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

打造安全可靠的远程登录工具SSH2Explorer


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

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

打造安全可靠的远程登录工具SSH2Explorer

输入密码,

打造安全可靠的远程登录工具SSH2Explorer

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


4、登陆Windows:

打造安全可靠的远程登录工具SSH2Explorer

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


    五、安全保障

   在程序中,我们全部使用了标准协议SSH2,协议库用的是官方libssh2,中间不混用第三方库,所以尽最大可能地减小了危险。

   我也只是简单地开发了登陆部分、上传下载部分的功能,对ssh的其他应用没有进行深入的开发,毕竟这只是个ssh2的客户端工具,也没有上面的xshell、putty等工具强大和完善,但围绕着ssh来做些文章还是潜力无限的。




原文始发于微信公众号(MicroPest):打造安全可靠的远程登录工具SSH2Explorer

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年8月28日08:24:08
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   打造安全可靠的远程登录工具SSH2Explorerhttp://cn-sec.com/archives/957958.html

发表评论

匿名网友 填写信息