一个可以从公网穿透内网的ssh连接--sshs

起源

公司希望能有一个功能能够实现建立从公网上的平台到线下产品的ssh连接。而我们的产品一般是在学校或者公司的内网中是无法直接建立ssh连接的。经过实验与讨论决定通过反向连接的方式来建立ssh连接。

方案

如果你有一个公网上的服务器,并且你需要连接一台无法直接连接的局域网内的机器。那么下面这个思路会比较适合你。

  1. 公网服务器作为连接请求分发中心
  2. 局域网机器轮询服务器获取连接请求操作
  3. 局域网机器发现有连接请求后和服务器建立socket长连接
  4. 局域网机器在本地打开终端(通过编程语言),然后获取终端输入和输出流
  5. 将终端的输入、输出流和 socket的输入、输出流关联起来
  6. 公网服务器就能间接获取到局域网机器本地终端的输入输出流

以上解决方案涉及到socket 编程和IO操作

sshs

sshs是以上方案的Java语言实现。
sshs 主要实现的是客户端机器打开终端、获取终端输入输出流、与服务端建立socket和服务端获取socket输入输出流操作。不包含解决方案中的1,2步骤。因为这些操作需要调用sshs的使用者来完成
更详细内容情况项目地址
项目地址:sshs

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容