如何使用“Wetty(Web + tty)”工具在 Web 浏览器中访问 Linux 服务器终端
作为系统管理员,如果您使用的是 Linux 桌面,您可能会使用GNOME Terminal(或类似程序)等程序连接到远程服务器;如果您使用的是 Windows 计算机,您可能会使用 Putty 等 SSH 客户端连接到远程服务器,同时执行其他任务,例如浏览网页或查看电子邮件。
[ 你可能还喜欢:Cockpit – 基于浏览器的 Linux 管理工具]
如果有办法直接从 Web 浏览器访问远程 Linux 服务器,那不是很棒吗?幸运的是,有一个名为Wetty ( Web + tty ) 的工具可以让我们做到这一点 - 无需切换程序,只需在同一个 Web 浏览器窗口中即可。
在 Linux 中安装 Wetty
Wetty 可从其开发者的GitHub存储库获取。因此,无论发行版如何,您都需要先手动安装一些依赖项,然后才能在本地克隆存储库并安装程序。
在基于 RHEL 的发行版(例如CentOS、Rocky Linux和AlmaLinux )中,您需要安装NodeJS和EPEL 存储库,如下所示:
# yum groupinstall 'Development Tools' # curl -fsSL https://rpm.nodesource.com/setup_17.x | bash - # yum update # yum install epel-release git nodejs npm
在Debian 及其衍生产品中,发行版存储库中提供的NodeJS版本早于安装Wetty所需的最低版本,因此您必须从NodeJS GitHub 开发人员存储库安装它:
# apt install curl build-essential # curl -fsSL https://deb.nodesource.com/setup_17.x | sudo -E bash - # apt update && apt install -y git nodejs npm
安装这些依赖项后,克隆 GitHub 存储库:
# git clone https://github.com/krishnasrinivas/wetty
将工作目录更改为wetty,如上面的消息所示:
# cd wetty
然后运行以下命令安装Wetty :
# npm install
如果您在安装过程中收到任何错误消息,请在继续操作之前解决它们。就我而言,在成功运行npm install之前,必须先解决Debian中需要较新版本的NodeJS的问题。
启动 Wetty 并从 Web 浏览器访问 Linux 终端
此时,您可以通过运行以下命令在本地端口 8080 启动 Wetty 的 Web 界面(假设您当前的工作目录是/wetty):
# node app.js -p 8080
如下图所示:
但是请帮自己一个忙,不要输入您的用户名和密码,因为这个连接不安全,并且您也不希望您的凭据在不受保护的情况下通过网络传输。
因此,你应该始终通过HTTPS运行Wetty。让我们创建一个自签名证书来保护与远程服务器的连接:
# openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -nodes
然后使用它通过HTTPS启动Wetty。
请注意,您需要打开要运行Wetty 的自定义HTTPS端口:
# firewall-cmd --add-service=https # Run Wetty in the standard HTTPS port (443) # firewall-cmd --permanent --add-service=https # firewall-cmd --add-port=XXXX/tcp # Run Wetty on TCP port XXXX # nohup node app.js --sslkey key.pem --sslcert cert.pem -p 8080 &
上述序列中的最后一条命令将在后台启动Wetty ,监听端口8080。由于我们使用的是自签名证书,因此浏览器可能会显示安全警告 - 完全可以忽略它并添加安全例外 - 永久例外或针对当前会话例外:
确认安全异常后,您将能够使用 Wetty 登录到您的 VPS。不用说,您可以像坐在真实或虚拟终端前一样运行所有命令和程序,如以下屏幕截图所示: