如何设置基于Web的SSH:分步指南

远程访问和管理服务器不仅仅是一种方便;这是必要的。有了Docker这样的容器化技术,这一过程变得更加精简和可访问。

我们的全面指南将向您展示如何利用Docker的强大功能来设置基于web的安全Shell(SSH)访问。按照我们的分步说明,您将学习如何将标准web浏览器转换为功能齐全的终端控制台。

在本指南结束时,您将拥有一个强大的基于web的终端,使您能够在浏览器的舒适环境中执行命令、管理文件和轻松维护服务器。所以,让我们深入了解并释放基于web的SSH的潜力!

先决条件

部署基于容器的SSH需要安装Docker和Docker Compose。因此,如果您还没有安装Docker,以下任何指南都会有所帮助:

  • 如何在Ubuntu 22.04上安装Docker
  • 如何在Debian 12上安装Docker(牛眼)
  • 如何在AlmaLinux/Rocky Linux上安装Docker
  • 如何在Fedora上安装Docker
  • 如何在Linux Mint 21上安装Docker
  • 如何在Raspberry Pi上安装Docker

另一个重要组件是Docker Compose。请记住,它是与Docker分开提供的。因此,必须安装Docker才能使用Docker Compose;否则,Compose将不起作用。

幸运的是,安装它非常简单,即使它还没有在您的Linux系统上。要安装Docker Compose,请键入以下两个命令:

苏多卷曲-L
"https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$(uname-m)“
-o/usr/local/bin/docker compose
sudo-chmod+x/usr/local/bin/docker compose
代码语言:
 JavaScript
 (
javascript
)

我们的Dockerized堆栈包括什么?

要安装基于web的SSH,允许您将浏览器用作SSH终端,我们将使用三个独立的容器——Caddy、Wetty和OpenSSH,我们将通过Docker Compose将它们一起部署。

以下是我们基于web的SSH堆栈中的不同组件如何交互的图形表示。

我们的基于web的停靠SSH堆栈是如何工作的。

Caddy:反向代理

Caddy是一款多功能、简单且快速的web服务器,以其自动获取和续订Let’s Encrypt SSL证书的能力而闻名,是我们基于web的SSH部署的理想候选者。

在我们的案例中,Caddy将充当反向代理服务器,坐在Wetty容器前面,转发请求并传递客户端响应。此外,它将为我们提供一个安全的HTTPS连接,以及对我们基于web的SSH实现的用户名和密码保护访问。

WeTTY:基于HTTP和HTTPS的终端

WeTTY(Web+TTY的缩写)是一个通过HTTP和HTTPS运行的终端模拟器软件。它本质上是一个基于web的界面,允许用户通过web浏览器访问命令行界面。

换言之,它在网络浏览器中提供了一个终端,使其可以从任何具有互联网访问权限的机器上轻松访问,而无需安装额外的软件。

OpenSSH:SSH服务器

我们讨论的SSH服务器是WeTTY容器连接到的服务器。但这里有一个关键点需要理解。WeTTY和OpenSSH容器都不会直接链接到我们设置基于web的SSH的主机服务器。

因此,重要的是不要将其视为只允许您访问安装它的特定服务器的解决方案。

相反,把它想象成一个跳跃主机。这意味着OpenSSH容器充当了一个中间人。通过它,您可以建立到主机服务器和任何其他远程SSH服务器的SSH连接。

使用Docker Compose实现基于Web的SSH

第一步是创建将放置Docker Compose部署文件的文件夹。然后切换到它;从现在开始,您需要从该位置进一步执行本指南中的所有命令。

mkdir websh
cd websh