免费容器docker平台koyeb上搭建webssh项目niruix/sshwifty 支持SSH登录纯IPv6的VPS

在使用纯IPv6的VPS时, 如果你的网络环境是IPv4的, 那么会遇到无法SSH登录的问题.

有些IPv6的VPS商提供了一些webssh登录的方式, 比如 Hax

不过, 当这个方法不稳定的时候, 我们会在自己的电脑上安装WARP, 或者使用一些公共的webssh服务.

比如: https://sshwifty-demo.nirui.org/ ,      https://eussh.305070.xyz/

也许你会觉得在其它人搭建的服务上输入自己VPS的SSH登录信息太敏感了, 那么可以搭建自己的webssh服务.


sshwifty 是一个开源项目, 支持以Docker的形式搭建.

Github: https://github.com/nirui/sshwifty

Docker: https://hub.docker.com/r/niruix/sshwifty  *注意Docker的用户名末尾多了一个'x'.

我选择在 koyeb 上面搭建, 验信用卡就可以注册账号, 有永久免费的使用方案. 


1. 注册 Koyeb 账号

略.

我使用的是大陆真实的地址信息.

该填信用卡信息的时候就填.


2. 创建 App


选 Docker


Image 填写 

niruix/sshwifty

点击 "Next" 按钮 

service type 选 Web service


Instance 选最便宜的 Nano

Advance 按钮点击展开.

添加一个环境参数.

name为 SSHWIFTY_LISTENPORT

Value为 8000

应用的名称取个自己喜欢的.

点击 "Deploy" 部署.

静静等待.

如果看到 "Instance is healthy", 说明部署成功了.

如果结果一直是 "Instance is unhealthy", 就是部署失败了.


3. SSH登录纯IPv6的VPS 测试

这里就是我们可以用浏览器访问的链接了

https://ssh-crazypeace.koyeb.app/

拿一个IPv6的VPS来试试.

https://www.youtube.com/shorts/MM89ajMiDYw

========

update

当用手机浏览器使用的时候, 发现有个问题, 输入了root用户名以后, 切换到便笺去复制密码, 再切换回来, 发现又退回到选择TELNET或SSH的步骤. 如果你不能记住IP地址的话(特别是IPV6地址), 就是个麻烦.

后来找了很多个webssh项目以后, 发现 billchurch/webssh2 没有这样的问题. 这个项目的默认端口号是 2222, 搭建时注意.

教程: https://zelikk.blogspot.com/2023/09/docker-northflank-webssh-billchurch-webssh2.html


========

后记

在设置 Docker 的环境参数时, SSHWIFTY_LISTENPORT 是和 Exposing your service 里面的端口应该是一致的.


原理是说, Docker容器会对外暴露一个端口, 而你实际运行的实例就应该使用这个端口.

sshwifty 的实例跑起来时, 会读取 SSHWIFTY_LISTENPORT 这个环境变量作为工作的端口.

所以, 要么知道 sshwifty 这个实例默认使用 8182 端口, 那么你去修改 Docker 暴露的端口为 8182; 要么知道 Docker 暴露的端口是8000, 那么你通过环境变量让 sshwifty 实例工作在8000端口上.

粗浅地理解, 有一点像是防火墙和应用程序的关系. 应用程序使用的端口要和防火墙开放的端口对应, Docker实例和Docker容器开放的端口也要对应.

评论

The Hot3 in Last 30 Days

RackNerd VPS搭Hysteria2 HY2梯子 年付 $10.98 1G端口 3T流量 17G存储 1GB内存

强行重装 233boy的sing-box脚本 取消脚本报错退出的逻辑