编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

把SSH客户端放在网页上运行?这个开源项目教你部署实现

wxchong 2024-07-15 10:16:06 开源技术 11 ℃ 0 评论

有时候为了管理服务器,又不想去下载各种各样的客户端,只是想在ipad、手机上操作一下,这款SSH开源客户端工具一定适合你,运行在网页端,只要有浏览器的设备就能访问使用。

环境准备

我们的主角依然是docker,采用最方便的一键脚本安装方式。(本次演示使用CentOS 7来部署)

# 适用于CentOS/RHEL 7及以上操作系统
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

# 适用于Ubuntu类发行版Linux 
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

运行完毕后,验证docker是否正常启动。

# 查看docker版本
[root@master ~]# docker --version
Docker version 20.10.9, build c2ea9bc

# 查看运行状态
[root@master ~]#systemctl status docker

如果显示为绿色的active,则表示docker已经成功安装并正常运行

部署Web SSH服务 首先生成证书与公钥文件,用于连接的加密。

openssl req \
  -newkey rsa:4096 -nodes -keyout domain.key -x509 -days 90 -out domain.crt
# 运行以下命令,开始部署
docker run --detach \
--restart always \
--publish 8182:8182 \
--env SSHWIFTY_DOCKER_TLSCERT="$(cat domain.crt)" \
--env SSHWIFTY_DOCKER_TLSCERTKEY="$(cat domain.key)" \
--name sshwifty \
niruix/sshwifty:latest

如果无正常报错,则部署成功。第一次部署的话,会下载镜像文件。

此服务占用8182端口,我们查看一下端口的监听状态,为LISTEN正常监听。

[root@master ~]# netstat -antpu | grep 8182
tcp        0      0 0.0.0.0:8182            0.0.0.0:*               LISTEN      28474/docker-proxy
tcp6       0      0 :::8182                 :::*                    LISTEN      28480/docker-proxy
[root@master ~]#

放行防火墙端口 我们需要在防火墙下放行8182的tcp端口,并使其永久生效,如果不考虑安全,也可以关闭防火墙。

# 放行8182 tcp端口
firewall-cmd --add-port --zone=public --permanent
firewall-cmd --reload

# 可选:直接关闭防火墙,允许所有端口通过
systemctl stop firewalld
# 不自启动
systemctl disable firewalld

尝试访问一下,用我们主机的https://IP:8182来访问。

如果你的浏览器出现非私人连接,请在高级里选择继续访问即可,因为我们证书是由我们手动生成而非签发,如需规避这个问题,正常使用https可去一些证书签发网站搭配域名一起使用。

简单使用

点击页面上的+号,可以新建一个连接,支持ssh和telnet协议

使用ssh来连接一台我们的服务器,填写用户名和主机ip。

选择yes后输入密码。

登录成功,体验很流畅,尽情玩耍吧~

如需获得开源项目地址,请私信回复102

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表