网页版SSH神器Sshwifty

页面海报

1.前言

  无论你是一名开发或者运维,相信都对 SSH 这个工具都不陌生。不管是开发需要访问服务器处理程序错误还是运维访问服务器处理服务异常,我们都需要通过 SSH 协议来远程连接到服务器。通常我们使用 SSH 协议访问服务器基本都是使用 SSH 客户端软件,比如:Xshell、Putty、SecureCRT、iTerm 2 等。这些客户端软件虽然使用上都比较方便,但在有些场景下,我们需要在没有安装 SSH 客户端的环境下访问远程服务器。这时我们应该怎么办呢,当然是有办法解决的,那就是通过 WebSSH 这种方法来进行访问。
  目前,可以实现 WebSSH 的软件有很多,比如:GateOne、Shellinabox、WSSH、Xterm.js 等,而我们今天要介绍的是一款更为强大的 WebSSH 软件 Sshwifty。Sshwifty 使用 Go、Vuejs 和 xtermjs 进行开发,几乎实现了目前所有 WebSSH 软件的功能。
项目地址:

https://github.com/niruix/sshwifty

2.安装 Sshwifty

通过二进制包安装
由于 Sshwifty 采用 Go 语言开发,良好的原生跨平台支持。安装起来非常简单,基本开箱即用。这里以Centos7为例:

# 下载并解压 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 服务,你可以根据自行需要更改。

3.修改配置文件

实现域名https访问

{
  "HostName": "",
  "SharedKey": "greekclub.net", #第一次访问时的认证密钥
  "DialTimeout": 5,
  "Socks5": "",
  "Socks5User": "",
  "Socks5Password": "",
  "Servers": [
    {
      "ListenInterface": "0.0.0.0",
      "ListenPort": 443, #https访问使用的是443端口
      "InitialTimeout": 3,
      "ReadTimeout": 60,
      "WriteTimeout": 60,
      "HeartbeatTimeout": 20,
      "ReadDelay": 10,
      "WriteDelay": 10,
      "TLSCertificateFile": "/root/cert/shell.pem", #域名ssl公钥证书
      "TLSCertificateKeyFile": "/root/cert/shell.key" #域名ssl私钥
    }
  ],
  "Presets": [
    {
      "Title": "SDF.org Unix Shell",
      "Type": "SSH",
      "Host": "sdf.org:22",
      "Meta": {
        "Encoding": "utf-8",
        "Authentication": "Password"
      }
    },
    {
      "Title": "My own super secure server",
      "Type": "SSH",
      "Host": "localhost",
      "Meta": {
        "User": "root",
        "Encoding": "utf-8",
        "Private Key": "-----BEGIN RSA PRIV...\nMIIE...\n-----END RSA PRI...\n",
        "Authentication": "Private Key"
      }

保存退出后,记得开放相关端口

4.运行Sshwifty

直接执行

yum install -y screen
screen -S ssh
sshwifty

即可运行
Sshwifty 部署好,运行后,直接用浏览器访问相应地址即可使用。首次访问时,会要求输入一个认证口令
请输入图片描述
认证完成后,成功登陆 Sshwifty
点击左上角 + 号图标后,就可新建一个访问远程服务器 SSH 或 Telnet 的连接
请输入图片描述
如果你觉得自已部署还是太麻烦,也可以直接使用官方提供的演示地址或者本站搭建的地址进行体验哟!
官方演示地址:https://sshwifty.herokuapp.com
本站演示地址:https://ssh.zabbix.tk 认证密码:ssh

教程LinuxWeb SSH

我来吐槽

*

*

已有 2 条评论

  1. XJHui

    博主您好,我尝试使用nginx绑定自己的域名,可不知道nginx.conf中的root路径如何填写? :mrgreen:

    1. 皮球

      nginx.conf中的root路径填写的是网站的绝对路径。我在https://greekclub.net/archives/46.html中有涉及如何配置,请参考