免费容器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" 按钮
Advance 按钮点击展开.
添加一个环境参数.
name为 SSHWIFTY_LISTENPORT
Value为 8000
应用的名称取个自己喜欢的.
点击 "Deploy" 部署.
静静等待.
如果看到 "Instance is healthy", 说明部署成功了.
如果结果一直是 "Instance is unhealthy", 就是部署失败了.
3. SSH登录纯IPv6的VPS 测试
这里就是我们可以用浏览器访问的链接了
https://ssh-crazypeace.koyeb.app/拿一个IPv6的VPS来试试.
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容器开放的端口也要对应.
评论
发表评论