网站搜索

如何使用“Wetty (Web + tty)”工具在 Web 浏览器中访问 Linux 服务器终端


作为系统管理员,如果您使用的是 Linux 桌面,您可能会使用诸如 GNOME Terminal(或类似程序)之类的程序连接到远程服务器;如果您使用的是 Putty,则可能会使用 SSH 客户端来连接到远程服务器。 Windows 计算机,当您执行浏览网页或检查电子邮件等其他任务时。

如果有一种方法可以直接从 Web 浏览器访问远程 Linux 服务器,那不是很棒吗?对我们所有人来说幸运的是,有一个名为 Wetty (Web + tty) 的工具,可以让我们做到这一点 - 无需切换程序,并且全部来自同一个网络浏览器窗口。

在 Linux 中安装 Wetty

Wetty 可以从其开发者的 GitHub 存储库中获取。因此,无论发行版如何,您都使用一些必须先手动安装的依赖项,然后才能在本地克隆存储库并安装程序。

在基于 RHEL 的发行版中,例如 CentOSRocky LinuxAlmaLinux,您需要安装 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 安装它>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

如果您在安装过程中收到任何错误消息,请在继续操作之前解决这些错误消息。就我而言,在 Debian 中需要更新版本的 NodeJS 是一个必须在成功运行 npm 安装之前解决的问题。

启动 Wetty 并从 Web 浏览器访问 Linux 终端

此时,您可以通过运行在本地端口 8080Wetty 启动 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。不用说,您可以像坐在真实或虚拟终端前一样运行所有命令和程序,如以下屏幕截图所示: