Docker部署ssh连接工具webssh2

简介: 【8月更文挑战第2天】Docker部署ssh连接工具webssh2

@TOC

一、项目介绍

1.1 webssh2简介

webssh2 是一个基于 Web 的 SSH 客户端工具,它允许用户通过浏览器进行 SSH 远程连接到服务器。这个工具界面简洁,操作简便,非常适合那些需要频繁进行远程管理服务器的用户。

1.2 webssh2特点

webssh2 是一个实用且高效的工具,非常适合需要频繁进行远程管理服务器的开发者和系统管理员。

  • 浏览器访问: 用户无需安装任何额外的 SSH 客户端软件,只需通过支持现代 Web 标准的浏览器即可访问。
  • 简洁界面: 提供了一个清晰、直观的用户界面,便于用户快速进行 SSH 连接和操作。
  • 文件管理: 内置文件管理功能,允许用户浏览、上传、下载服务器上的文件和文件夹。
  • 多平台支持: 由于它是基于 Web 的,因此可以在任何操作系统上运行,只要有现代浏览器即可。
  • 安全连接: 支持通过 SSH 协议建立安全的连接,确保数据传输的安全性。
  • 易于部署: 作为一个轻量级的应用程序,它可以快速部署在服务器上,无需复杂的配置过程。
  • 多终端支持: 适应不同屏幕尺寸和设备类型,无论是桌面电脑还是移动设备都能良好使用。

二、检查系统版本

检查操作系统版本,当前使用的操作系统版本为centos7.6

[root@server001 webssh]# cat /etc/os-release 
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

三、检查Docker状态

检查Docker服务运行状态,确保Docker服务正常。

[root@server001 webssh]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2022-11-06 06:02:26 CST; 1 weeks 5 days ago
     Docs: https://docs.docker.com
 Main PID: 9869 (dockerd)
    Tasks: 55
   Memory: 3.4G
   CGroup: /system.slice/docker.service

四、下载webssh2镜像

从docker hub下载webssh2镜像

[root@server001 webssh]# docker pull lihaixin/webssh2:ssh
Unable to find image 'lihaixin/webssh2:ssh' locally
ssh: Pulling from lihaixin/webssh2
ca3cd42a7c95: Pull complete 
71cb5a638638: Pull complete 
2033bc407fc5: Pull complete 
Digest: sha256:4055605cdcbcae6a76326962a0413d254beee60155d72f373f21aac61f96e09e
Status: Downloaded newer image for lihaixin/webssh2:ssh

五、创建webssh2容器

5.1 创建webssh2容器

  • 使用以下命令快速创建webssh2容器
docker run -d \
-p 5032:5032 \
--restart always \
--name webssh \
lihaixin/webssh2:ssh

image.png

5.2 查看webssh2状态

查看webssh2容器状态,确保容器正常运行。

[root@server001 webssh]# docker ps
CONTAINER ID   IMAGE                          COMMAND                  CREATED              STATUS              PORTS                                                     NAMES
508a058faaf3   lihaixin/webssh2:ssh           "/webssh"                About a minute ago   Up About a minute   0.0.0.0:5032->5032/tcp, :::5032->5032/tcp                 webssh

5.3 查看容器运行日志

检查容器运行日志,确保服务正常启动。

[root@server001 webssh]# docker logs webssh
[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.

[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
 - using env:    export GIN_MODE=release
 - using code:    gin.SetMode(gin.ReleaseMode)

[GIN-debug] GET    /                         --> main.staticRouter.func2 (4 handlers)
[GIN-debug] GET    /static/*filepath         --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (4 handlers)
[GIN-debug] HEAD   /static/*filepath         --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (4 handlers)
[GIN-debug] GET    /term                     --> main.main.func1 (4 handlers)
[GIN-debug] GET    /check                    --> main.main.func2 (4 handlers)
[GIN-debug] GET    /file/list                --> main.main.func3 (4 handlers)
[GIN-debug] GET    /file/download            --> main.main.func4 (4 handlers)
[GIN-debug] POST   /file/upload              --> main.main.func5 (4 handlers)
[GIN-debug] Listening and serving HTTP on :5032

六、访问webssh2

6.1 访问webssh2

http://192.168.3.166:5032,进入webssh2首页。

image.png

6.2 远程连接服务器

在webssh2的首页上,输入连接信息,ssh连接远程Linux服务器。

在这里插入图片描述

6.3 文件管理

点击文件1管理,可以对Linux服务器的文件系统进行管理。

在这里插入图片描述
在这里插入图片描述

七、总结

webssh2 以其简洁的界面和简便的操作,让用户能够轻松通过浏览器实现 SSH 远程连接,极大地提升了远程管理服务器的效率与便利性。对于需要频繁进行远程管理的用户而言,webssh2 成为了一个不可或缺的工具,让远程操作变得更加流畅和高效。

相关文章
|
20天前
|
消息中间件 监控 Docker
Docker环境下快速部署RabbitMQ教程。
就这样,你成功地用魔法召唤出了RabbitMQ,还把它和你的应用程序连接了起来。现在,消息会像小溪流水一样,在你的系统中自由流淌。别忘了,兔子们不喜欢孤独,他们需要你细心的关怀,不时地监控它们,确保他们的世界运转得井井有条。
99 18
|
27天前
|
前端开发 数据安全/隐私保护 计算机视觉
MAZANOKE:一款隐私优先的浏览器图像优化工具及Docker部署指南
MAZANOKE 是一款简易的图片优化工具,它直接在浏览器中运行,支持离线使用,并确保您的图片始终保留在设备上,绝不外泄。 这款专为普通人设计的工具,适合与亲友分享使用,是那些来路不明的"免费"在线工具的可靠替代品。
50 1
MAZANOKE:一款隐私优先的浏览器图像优化工具及Docker部署指南
|
2月前
|
关系型数据库 MySQL 数据库
【赵渝强老师】数据库不适合Docker容器化部署的原因
本文介绍了在Docker中部署MySQL数据库并实现数据持久化的方法,同时分析了数据库不适合容器化的原因。通过具体步骤演示如何拉取镜像、创建持久化目录及启动容器,确保数据安全存储。然而,由于数据安全性、硬件资源争用、网络带宽限制及额外隔离层等问题,数据库服务并不完全适合Docker容器化部署。文中还提到数据库一旦部署通常无需频繁升级,与Docker易于重构和重新部署的特点不符。
212 18
【赵渝强老师】数据库不适合Docker容器化部署的原因
|
22天前
|
Ubuntu 安全 数据安全/隐私保护
在Docker容器中部署GitLab服务器的步骤(面向Ubuntu 16.04)
现在,你已经成功地在Docker上部署了GitLab。这就是我们在星际中的壮举,轻松如同土豆一样简单!星际旅行结束,靠岸,打开舱门,迎接全新的代码时代。Prepare to code, astronaut!
95 12
|
Java 测试技术 Docker
让Docker日臻完善的8个优秀工具
一眨眼,你可能错过如今Docker领域最值得关注的动向之一。除了Docker本身的进步外,其他许多实用的项目都建立在Docker的基础上,或者得到Docker的支持。
1335 0
|
1月前
|
Docker 容器
Docker网关冲突导致容器启动网络异常解决方案
当执行`docker-compose up`命令时,服务器网络可能因Docker创建新网桥导致IP段冲突而中断。原因是Docker默认的docker0网卡(172.17.0.1/16)与宿主机网络地址段重叠,引发路由异常。解决方法为修改docker0地址段,通过配置`/etc/docker/daemon.json`调整为非冲突段(如192.168.200.1/24),并重启服务。同时,在`docker-compose.yml`中指定网络模式为`bridge`,最后通过检查docker0地址、网络接口列表及测试容器启动验证修复效果。
|
2月前
|
开发者 Docker 容器
获取Docker基础使用方法:让容器化变得轻松。
对于Docker的初学者来说,了解这些基础知识点就足够了。实践是最好的老师,越是动手操作,对Docker的理解会越深。祝阅读这篇文章的开发者们一切顺利,愿你在Docker的海洋中航行顺利!
111 17
|
2月前
|
关系型数据库 MySQL Docker
|
3月前
|
Ubuntu Linux Docker
Docker容器的实战讲解
这只是Docker的冰山一角,但是我希望这个简单的例子能帮助你理解Docker的基本概念和使用方法。Docker是一个强大的工具,它可以帮助你更有效地开发、部署和运行应用。
155 27
|
6月前
|
数据库 Docker 容器
docker容器为啥会开机自启动
通过配置适当的重启策略,Docker容器可以在主机系统重启后自动启动。这对于保持关键服务的高可用性和自动恢复能力非常有用。选择适合的重启策略(如 `always`或 `unless-stopped`),可以确保应用程序在各种情况下保持运行。理解并配置这些策略是确保Docker容器化应用可靠性的关键。
565 93