微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用xterm.js创build基于web的terminal来SSH系统在本地networking上

我遇到了这个令人敬畏的库xterm.js ,这也是Visual Studio Code的terminal的基础。 我有一个非常普遍的问题。

我想通过一个基于web的terminal(这是networking外,可能是在aws服务器上)访问本地networking上的一台机器(ssh到一台机器)。 我可以成功地在本地networking上做到这一点,但我无法从互联网 – >本地networking得出结论。

举个例子 – An aws server running the application on ip 54.123.11.98 which has a GUI with a button to open terminal. I want to open terminal of a local machine which is in a local network somewhere behind some public ip on local ip 192.168.1.7. An aws server running the application on ip 54.123.11.98 which has a GUI with a button to open terminal. I want to open terminal of a local machine which is in a local network somewhere behind some public ip on local ip 192.168.1.7.

上面的例子可以通过使用某种解决scheme来实现,我可以使用xterm.js,这样我就不必去build立一个基于web的terminal了。 这样暴露terminal时,我应该记住哪些主要的安全问题?

在Linux中将主机名添加到/ etc / hosts

如何远程启动不同系统上的应用程序?

Hadoop Datanodes找不到NameNode

EAGAIN是否会返回缓冲区已满以外的任何内容

在访问时自动发送魔术包

我想在AWS和本地networkingIP之间使用固定的中间服务器,并使用某种反向SSH隧道进程来做到这一点,但我不知道这是正确的方式,还是可以有一个更简单/更好的方式为了达成这个。

我知道数字海洋,谷歌云,他们都这样做,但他们必须连接到具有公共ip的计算机,而我在本地networking中有一台机器。 我真的不想configuration路由器做任何设置。

Windows 2000和udp数据报的大小MTU大小

Docker Network Nginxparsing器

如何从接口ip地址获取接口索引

查找是否传递了一个通过tcp的消息

使用Python,我如何访问Windowsnetworking上的共享文件夹?

在这里少数研究是工作代码

关于图书馆,你需要了解它的工作方式。

1) https://socket.io/

该库用于从客户端到服务器的传输包。

2) https://github.com/staltz/xstream

这个库用于终端视图。

3) https://github.com/mscdex/ssh2

这是主要的图书馆。 用于与远程服务器建立连接。

步骤1:将这3个库安装到您的项目文件夹中

Setp 2:从节点开始为open socket创建一个server.js文件

步骤3:将客户端套接字连接到节点服务器(都在本地计算机上)

棘手的逻辑就是如何使用套接字和ssh2

在发送套接字时,您需要使用ssh2库触发ssh命令。 在服务器上的ssh2响应,你需要传输套接字包到客户端就是了

不要在这里写更多的是我为你上传的示例代码

下载代码

这就像有以下的文件文件

server.js package.json src/ xtream/

首先您需要在server.js上配置您的服务器IP,用户密码或证书文件。 然后打到节点server.js

PS:不要忘记运行npm install

让我知道如果你有任何问题!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐