前言
参考:https://cloud.tencent.com/developer/article/1830512
SSH,其全称是Secure Shell(安全外壳协议)是一种加密的网络传输协议。SSH最常见的用途是远程登录系统,人们通常利用SSH来传输命令行界面和远程执行命令,即:远程Terminal登录。
但是,这样进行服务器远程登录的操作,在服务器端安装SSH情况下受限于:
需要SSH客户端(如:Xshell、Putty等)
Windows10以后,powershell支持SSH函数库,但是Windwos10以前的Windows版本以及iOS、Android等移动端,就需要下载第三方软件来支持SSH。那么,如何免去客户端的安装,直接用上SSH呢?
答案是:安装Web SSH
本次就搭建搭建SSHwifty来实现Web SSH的效果,SSHwifty官方项目地址:
https://github.com/nirui/sshwifty
先看效果
部署
下载
根据服务器的CPU架构,我们先到GitHub上面找到适合自己的版本。
mkdir -p /opt/webssh & cd /opt/webssh
# 下载到服务器
wget 'https://github.com/nirui/sshwifty/releases/download/untagged-c7204ec41cb180a0101d/sshwifty_0.2.11-beta-release_linux_amd64.tar.gz'
# 解压文件
tar -xf sshwifty_0.2.11-beta-release_linux_amd64.tar.gz
配置
修改目录下的sshwifty.conf.example.json
文件:
修改后将文件重命名为sshwifty.conf.json
运行
执行命令:
./sshwifty_linux_amd64
即可运行(不是后台运行)。
后台运行
使用screen持久化运行sshwifty:
yum install screen -y
screen -S sshwifty
cd /opt/webssh
./sshwifty_linux_amd64
然后按ctrl+alt+d组合键退出screen。
反向代理
首先将域名ssh.miykah.top
解析到服务器。
宝塔面板创建站点来反向代理。
部署 SSL 证书:
配置反向代理:
问题解决
此时访问域名即可进入界面。但是新建连接会失败。
报错:Unable to connect to the Sshwifty backend server: Error: Unable to fetch key from remote, unexpected error code: 403
在站点的配置文件中,添加一行:
map $http_upgrade $connection_upgrade { default upgrade; '' close; }
然后在反向代理中,编辑配置文件,新增两行:
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
评论区