你想将Linux终端会话/应用程序共享到Web浏览器中吗?本文介绍的方法教你实现这个目的。GoTTY是一个小型Go应用程序,专门用于将CLI工具转换为Web应用程序,通过GoTTY,远程用户可以通过网络连接查看在Web浏览器上公开的终端应用程序。
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身份验证 只运行gotty命令不会提供任何用于在Web浏览器下查看终端会话的身份验证系统,使用以下选项为GoTTY配置简单的HTTP身份验证: --credential user:pass 比如: $ gotty --credential admin:AdminPass htop 当访问提供的URL时,系统会要求你提供用户名和密码:
在我的示例中,用户名是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
相关主题 |