不安装Xshell、Xftp如何远程操作服务器

47次阅读
没有评论

共计 1405 个字符,预计需要花费 4 分钟才能阅读完成。

丸趣 TV 小编给大家分享一下不安装 Xshell、Xftp 如何远程操作服务器,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

前言

之前讲过,我现在在一家国企上班,由于集团网络环境是封闭的内网,平时的部署上线,日志排查是通过一个跳板堡垒机去连接内网机器,大致情况如下图:

以及联想到 Alibaba 开源的 Java 诊断工具 Arthas,其 Web Console 在浏览器上就可以执行命令,操作简单,界面也非常的 nice。

然后就想着去实现一个自己的 Web SSH,去探究其内部的原理。

实现

webssh 泛指一种技术可以在网页上实现一个 SSH 终端。从而无需 Xshell 之类的模拟终端工具进行 SSH 连接,将 SSH 这一比较低层的操作也从 C / S 架构扭成了 B / S 架构。

工作原理

+---------+ http +--------+ ssh +-----------+ | browser |  ==========  | webssh |  =======  | ssh server| +---------+ websocket +--------+ ssh +-----------+

WebSocket 长连接,用于指令发送和响应的实时交互

xterm.js 是一个基于 WebSocket 的容器,它可以帮助我们在前端实现命令行的样式。

JSch 是 SSH2 的一个纯 Java 实现。它允许你连接到一个 sshd 服务器,使用端口转发,X11 转发,文件传输等等。

实现功能

命令执行

文件上传 / 下载

相关代码

依赖

parent   groupId org.springframework.boot /groupId   artifactId spring-boot-starter-parent /artifactId   version 2.3.7.RELEASE /version   relativePath /   !-- lookup parent from repository --   /parent   dependencies   !-- Web 相关  --   dependency   groupId org.springframework.boot /groupId   artifactId spring-boot-starter-web /artifactId   /dependency   !-- jsch 支持  --   dependency   groupId com.jcraft /groupId   artifactId jsch /artifactId   version 0.1.54 /version   /dependency   !-- WebSocket  支持  --   dependency   groupId org.springframework.boot /groupId   artifactId spring-boot-starter-websocket /artifactId   /dependency   /dependencies

相关截图

登录

命令执行

文件列表、删除、下载

文件上传

由于相关实现较为简单,只要看下 JSch 和 xterm.js 即可实现,还能自由扩展相关功能。

以上是“不安装 Xshell、Xftp 如何远程操作服务器”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-17发表,共计1405字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)