哥布林看了都会的web浏览器端访问服务器shell页面的webssh2部署教程,附带nginx配置文件!请叫我英雄!

github地址

https://github.com/billchurch/webssh2

docker部署

1.拉取镜像
docker pull billchurch/webssh2
2.启动容器
docker run --name webssh2 -d -p 2222:2222 --restart=always billchurch/webssh2
3.进入容器修改配置文件
docker exec -it <容器id> sh
cp -rp config.json.sample config.json
vi config.json
{
  "listen": {
    "ip": "0.0.0.0",
    "port": 2222     #容器内部服务的端口
  },
  "http": {
    "origins": ["*:*"]
  },
  "user": {
    "name": "用户名",    #你所想要访问的服务器的用户名,如root。
    "password": "密码",	#对应账号的密码,也可以不设置,那么在访问的时候就需要输入账号和密码。
    "privatekey": null,
    "overridebasic": false
  },
  "ssh": {
    "host": "ip",  #你所想要访问的服务器ip,前提是此容器所在的服务器本身就可以访问通所设置的服务器ip。
    "port": 22,
    "localAddress": null,
    "localPort": null,
    "term": "xterm-color",
    "readyTimeout": 20000,
    "keepaliveInterval": 120000,
    "keepaliveCountMax": 10,
    "allowedSubnets": []
  },
4.(可选)假如你需要通过nginx将这个服务代理出去,并且根路径还不能用,只能配置二级路径,那么跟着改
ps:假如你的nginx二级路径是wssh,那么需要修改以下两个文件的三处

vi client/public/client.htm
	<link rel="stylesheet" href="/wssh/ssh/webssh2.css" />
	<link rel="icon" href="/wssh/ssh/favicon.ico" />
	<script src="/wssh/ssh/webssh2.bundle.js" defer></script>

vi client/src/client.htm
	<link rel="stylesheet" href="/wssh/ssh/webssh2.css" />
	<link rel="icon" href="/wssh/ssh/favicon.ico" />
	<script src="/wssh/ssh/webssh2.bundle.js" defer></script>
5.(可选)配置nginx
ps:假如你的nginx二级路径是wssh


	location /wssh/ {
		rewrite ^/wssh(/.*)$ $1 break;
        proxy_pass http://localhost:2222/wssh/ssh/host/ip;		#你所想要访问的服务器ip
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
	    location /ssh/socket.io/ {
        proxy_pass http://localhost:2222/ssh/socket.io/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        # 确保 WebSocket 连接正确处理
        proxy_buffering off;
        proxy_read_timeout 86400;
    }

最后访问地址为:域名或者ip/wssh/ssh/host/ip

例如:http://192.168.33.33:2222/wssh/ssh/host/192.168.33.32

或者:https://www.hero.com/wssh/ssh/host/192.168.33.32

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值