无论你是一名开发或者运维,相信都对 SSH 这个工具都不陌生。不管是开发需要访问服务器处理程序错误还是运维访问服务器处理服务异常,我们都需要通过 SSH 协议来远程连接到服务器。
通常我们使用 SSH 协议访问服务器基本都是使用 SSH 客户端软件,比如:Xshell、Putty、SecureCRT、iTerm 2 等。这些客户端软件虽然使用上都比较方便,但在有些场景下,我们需要在没有安装 SSH 客户端的环境下访问远程服务器。这时我们应该怎么办呢,当然是有办法解决的,那就是通过 WebSSH 这种方法来进行访问。
WebSSH 泛指一种可以在网页上实现一个 SSH 终端的技术。从而无需任何 SSH 客户端工具就可进行 SSH 连接,将 SSH 从 C/S 架构转变成了 B/S 架构。
目前,可以实现 WebSSH 的软件有很多,比如:GateOne、Shellinabox、WSSH、Xterm.js 等,而我们今天要介绍的是一款更为强大的 WebSSH 软件 Sshwifty。Sshwifty 使用 Go、Vuejs 和 xtermjs 进行开发,几乎实现了目前所有 WebSSH 软件的功能。
项目地址:https://github.com/niruix/sshwifty
安装 Sshwifty
1.通过二进制包安装
由于 Sshwifty 采用 Go 语言开发,良好的原生跨平台支持。安装起来非常简单,基本开箱即用。这里以 Linux 平台为例:
- # 下载并解压 Sshwifty 安装包
- $ wget https://github.com/niruix/sshwifty/releases/download/0.1.0-beta-release-prebuild/sshwifty_0.1.0-beta-release_linux_amd64.tar.gz
- $ tar -xzvf sshwifty_0.1.0-beta-release_linux_amd64.tar.gz
- # 复制可执行文件到指定目录并赋予执行权限
- $ cp sshwifty_linux_amd64 /usr/local/bin/sshwifty
- $ chmod +x /usr/local/bin/sshwifty
- # 生成默认配置文件
- $ cp sshwifty.conf.example.json /etc/sshwifty.conf.json
- # 启动 Sshwifty
- $ sshwifty
使用默认配置文件会在 127.0.0.1 的 8182 端口启动 Sshwifty 服务,你可以根据自行需要更改。
2.通过 Docker 安装
如果你会一点 Docker 的话,强烈建议使用 Docker 进行部署安装。通过 Docker 安装仅需要一条指令就可以搞定,比二进制包安装更加的简单。
- $ docker run --detach \
- --restart=always \
- --publish 8182:8182 \
- --name sshwifty \
- niruix/sshwifty:latest
如果你想给 Sshwifty 部署一个 HTTPS 证书,可以使用以下的指令:
- $ docker run --detach \
- --restart=always \
- --publish 8182:8182 \
- --env SSHWIFTY_DOCKER_TLSCERT="$(cat /path/to/domain.crt)"
- --env SSHWIFTY_DOCKER_TLSCERTKEY="$(cat /path/to/domain.key)"
- --name sshwifty \
- niruix/sshwifty:latest
/path/to/domain.crt 和 /path/to/domain.key 是用来指定本地 HTTPS 证书和密钥文件所在的位置。
使用 Sshwifty
Sshwifty 部署好后,直接用浏览器访问相应地址即可使用。首次访问时,会要求输入一个认证口令。
默认口令为:WEB_ACCESS_PASSWORD,如需修改可变更配置文件中的 "SharedKey": "WEB_ACCESS_PASSWORD" 配置项。
认证完成后,成功登陆 Sshwifty。
点击左上角 + 号图标后,就可新建一个访问远程服务器 SSH 或 Telnet 的连接。
如果你觉得自已部署还是太麻烦,也可以直接使用官方提供的演示地址进行体验哟!
官方演示地址:https://sshwifty.herokuapp.com/
你在这里不仅可以体验 Sshwifty 的强大功能,还可以在这里观看有趣的星球大战 Telnet 版哟!
至此,Sshwifty 的基本使用就已经介绍完成了。如果你对它很有兴趣,可以自行去官网进行探索哟!