云网牛站
所在位置:首页 > Linux软件 > 下载及使用GoTTY在Web浏览器下共享Linux终端

下载及使用GoTTY在Web浏览器下共享Linux终端

2019-01-18 09:50:18作者:尤成稿源:云网牛站

你想将Linux终端会话/应用程序共享到Web浏览器中吗?本文介绍的方法教你实现这个目的。GoTTY是一个小型Go应用程序,专门用于将CLI工具转换为Web应用程序,通过GoTTY,远程用户可以通过网络连接查看在Web浏览器上公开的终端应用程序。

 

GoTTY下载地址

GoTTY项目下载地址

 

在Linux下安装GoTTY

当前最新稳定版本是1.0.1,可以使用curl、wget或从Web浏览器手动下载:

wget https://github.com/yudai/gotty/releases/download/v1.0.1/gotty_linux_amd64.tar.gz

提取下载的文件:

tar xvf gotty_linux_amd64.tar.gz

给二进制文件执行位并将其移动到相应文件夹:

chmod  +x gotty

sudo mv gotty /usr/local/bin/

检查Gotty版本,可以运行以下命令:

$ gotty -version

gotty version 1.0.1

 

使用Gotty在Web浏览器下共享Linux终端

安装Gotty后,可以使用--help选项检查其使用的方法:

$ gotty --help

一般用法是:

$ gotty [options] <command> [<arguments...>]

以下示例将显示Linux系统的内存和CPU利用率作为Web应用程序,我正在使用htop,参考htop命令_Linux htop命令使用详解:用彩色标识出处理器、swap和内存状态,它可以安装在Ubuntu/Debian系统中:

sudo apt install -y htop

然后运行:

$ gotty  htop

2019/01/18 9:07:29 Server is starting with command: htop

2019/01/18 9:07:29 URL: http://127.0.0.1:8080/

2019/01/18 9:07:29 URL: http://[::1]:8080/

2019/01/18 9:07:29 URL: http://192.168.100.27:8080/

2019/01/18 9:07:29 URL: http://[fe80::fa2e:617f:c315:6983]:8080/

2019/01/18 9:07:29 URL: http://192.168.122.1:8080/

默认情况下,GoTTY在端口8080启动Web服务器,但可以更改,打开给定的URL以在Web浏览器下查看命令输出:

下载及使用GoTTY在Web浏览器下共享Linux终端

 

GoTTY身份验证

只运行gotty命令不会提供任何用于在Web浏览器下查看终端会话的身份验证系统,使用以下选项为GoTTY配置简单的HTTP身份验证:

--credential user:pass

比如:

$ gotty  --credential admin:AdminPass htop

当访问提供的URL时,系统会要求你提供用户名和密码:

下载及使用GoTTY在Web浏览器下共享Linux终端

在我的示例中,用户名是admin,密码是AdminPass。

 

使用配置文件

可以使用配置文件自定义GoTTY的默认选项,加载的默认配置文件是~/.gotty。

让我们创建一个在启动GoTTY应用程序时使用的简单配置文件:

cat<<EOF > ~/.gotty

// Listen at port 19000 by default

port = "19000"

// Enable TSL/SSL by default

enable_tls = true

// Enable basic Authentication

enable_basic_auth = true

credential = "admin:AdminPassword"

// Permit Write - Enable only with Strong Authentication

permit_write = true

// Enable Random URL

random-url = true

如果启用SSL,请在启动gotty之前生成证书:

openssl req -x509 -nodes -days 9999 -newkey rsa:2048 -keyout ~/.gotty.key -out ~/.gotty.crt

然后启动GoTTY终端应用程序进行显示:

$ gotty htop

2019/01/18 9:30:47 Loading config file at: /home/jmutai/.gotty

2019/01/18 9:30:47 Server is starting with command: htop

2019/01/18 9:30:47 URL: https://127.0.0.1:19000/

2019/01/18 9:30:47 URL: https://[::1]:19000/

2019/01/18 9:30:47 URL: https://192.168.100.27:19000/

2019/01/18 9:30:47 URL: https://[fe80::fa2e:617f:c315:6983]:19000/

2019/01/18 9:30:47 URL: https://192.168.122.1:19000/

2019/01/18 9:30:47 TLS crt file: /home/jmutai/.gotty.crt

2019/01/18 9:30:47 TLS key file: /home/jmutai/.gotty.key

 

与多个客户共享

使用终端多路复用器与多个客户端共享单个进程。

例如,你可以通过以下命令使用top命令启动名为gotty的新tmux会话:

$ gotty tmux new -A -s gotty top

要从终端连接到tmux会话,可以使用以下命令:

$ tmux new -A -s gotty

 

相关主题

kibitz:用在Linux终端会话中实现实时共享

精选文章
热门文章