GoTTY,将终端作为Web应用程序共享

关于GoTTY

在下一篇文章中,我们将看一下GoTTY。 这是一个程序,允许用户 通过Web浏览器将应用程序共享到Gnu / Linux终端。 GoTTY是一个简单的Web服务器 使用Go编写的程序,该程序运行非GUI程序,并且可以通过以下方式启动:浏览器可以显示它 并允许用户进行互动。

也许不是每个人都会发现 在浏览器窗口中运行特定的命令行程序。 但是在某些情况下,例如当我们想使用top远程监视系统而不必连接到系统时,在这种情况下可能会很有趣。

如果我们可以将top的输出显示在浏览器窗口中,那么这将是一个非常简单的解决方案。 尽管还有其他选项可以获取相同的结果,但我们可能会对命令行的其他功能感兴趣,或者希望使用经过身份验证的用户与正在运行的软件进行交互。 这一切,GoTTY将使我们能够轻松地做到这一点。

关于transfer.sh
相关文章:
Transfer.sh,从终端轻松共享文件

在Ubuntu上安装GoTTY

为了使用GoTTY,我们需要安装Go。 大多数Gnu / Linux发行版在官方存储库中都有Go语言,因此我们可以轻松安装它。 要在我们的Ubuntu中安装和配置它,前不久,我们在此博客中写道: 危象 在其中说明了如何以简单的方式进行操作。

我们还将 需要安装git,我们可以通过输入终端(Ctrl + Alt + T)来完成:

sudo apt install git

当我们已经有了Go时,我们可以开始编写以下内容。 此命令将在您的环境变量中安装GoTTY二进制文件:

go get github.com/yudai/gotty

检查一切都正确,编写以下命令:

GoTTY安装检查

ls $GOPATH/bin/

如何在Ubuntu中使用GoTTY

要执行它,我们将使用以下语法:

$GOBIN/gotty [opciones] <comando>

万一没关系 启动并共享最高命令,您只需要编写:

用GoTTY跑跑

$GOBIN/gotty top

top命令将在您当前的计算机上运行 端口8080(http://127.0.0.1:8080/)。 在浏览器中,您将看不到静态图像,该屏幕就像在终端中运行一样被更新。

盖蒂在浏览器中运行

服务器将一直运行,直到您杀死它为止。 这可以通过按Ctrl + C来完成。 如果有人连接到服务器,则需要按两次Ctrl +C。 对这个命令 可以添加选项以更改端口(-p)和地址(-a).

请记住, 默认情况下,GoTTY不允许客户端将条目写入TTY,它仅允许调整窗口大小。

从浏览器编辑文件

我们将能够 使用-wo –permit-write选项允许客户端写入TTY哪一个 不建议这样做,因为服务器上可能存在安全威胁.

以下命令将使用 vi 命令行编辑器打开文件 ubunlog.txt 并允许您从网络浏览器编辑它:

Gotty编辑文件

$GOBIN/gotty -w vi ubunlog.txt

将GoTTY与基本身份验证配合使用(用户名和密码)

在第一种情况下,我们只是不太在乎陌生人是否能看到最高的输出。 如果运行GoTTY的计算机位于防火墙后面,则外部人将看不到它。 对于某些应用程序,这已足够。 但是,例如,如果我们允许输入(使用-w选项),人们可能会远程终止进程,因此将其发布到网络上可能不是一个好主意。

为了尝试对此提出一种解决方案,我们可以 激活基本身份验证系统。 在这里,客户端将需要输入指定的用户名和密码以连接到GoTTY服务器。

以下命令 将使用-c选项限制客户端访问,并提示用户输入指定的凭据。 在此示例中,用户名将为 ubunlog 和密码 @ 12345.

GoTTY用户名和密码

$GOBIN/gotty -w -p "9000" -c "ubunlog:@12345" top

在Gotty中生成随机URL

用GoTTY生成的寓言性网址

限制的另一种方法 服务器访问 正在使用-r选项。 在这里,GoTTY将生成一个随机URL,以便只有知道它的用户才能访问服务器。

我们刚刚看到的只是GoTTY可以完成的一些事情。 他们能 请咨询这些以及其他内容,有关详细信息,请参见 项目GitHub页面。 这是不适合所有情况的解决方案之一,但是如果您需要它做的事,那么最好有这种可能性。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。