前言
部署了云服务器之后,在外面远程访问云服务器就不是很好使用了,于是找到了一款专门为web设计的支持ssh、telnet的项目:sshwifty 。可以通过网页来控制服务器,并且轻量化部署方便,接下来就看一下要如何部署吧。
项目地址:https://github.com/nirui/sshwifty
dockerhub:
利用Docker-compose搭建,易于更新
先建立一个文件夹和文件
mkdir -p ~/ssh-wifty &&cd $_
vim docker-compose.yaml
docker-compose填入以下内容:
version: '3.3'
services:
sshwifty:
restart: always
ports:
- '8180:8182' # 8180可以改成任意服务器没有使用过的端口,8182不要修改
container_name: sshwifty
image: 'niruix/sshwifty:latest'
运行
docker-compose up -d
我们现在可以输入 http://ip:8180/
访问了。
更新
cd ~/ssh-wifty # 进入docker-compose所在的文件夹
docker-compose pull # 拉取最新的镜像
docker-compose up -d # 重新更新当前镜像
卸载
cd ~/ssh-wifty # 进入docker-compose所在的文件夹
docker-compose down # 停止容器,此时不会删除映射到本地的数据
rm -rf ~/ssh-wifty # 完全删除映射到本地的数据
环境变量
有效的环境变量包括:
SSHWIFTY_HOSTNAME
SSHWIFTY_SHAREDKEY
SSHWIFTY_DIALTIMEOUT
SSHWIFTY_SOCKS5
SSHWIFTY_SOCKS5_USER
SSHWIFTY_SOCKS5_PASSWORD
SSHWIFTY_LISTENPORT
SSHWIFTY_INITIALTIMEOUT
SSHWIFTY_READTIMEOUT
SSHWIFTY_WRITETIMEOUT
SSHWIFTY_HEARTBEATTIMEOUT
SSHWIFTY_READDELAY
SSHWIFTY_WRITEELAY
SSHWIFTY_LISTENINTERFACE
SSHWIFTY_TLSCERTIFICATEFILE
SSHWIFTY_TLSCERTIFICATEKEYFILE
SSHWIFTY_SERVERMESSAGE
SSHWIFTY_PRESETS
SSHWIFTY_ONLYALLOWPRESETREMOTES
使用界面


常见问题
The datetime difference between current client and the Sshwifty server is beyond the operational tolerance.
Unable to authenticate: TypeError: Cannot read property 'importKey' of undefined
这个问题,主要是新的Chrome和Chromium内核浏览器,已经不支持非SSL的加密传输在SSH上,所以解决方法:
Unable to connect to the Sshwifty backend server: WebSocket Error (1006)