用Github Codespaces的终端窗口 在免费平台fly.io上搭建webssh项目 huashengdun/webssh 支持SSH登录IPv6的VPS
fly.io可以算是一个常见的平台了.
并且我发现fly.io可以ssh登录ipv6的VPS.
我们在上面部署 Hax/Woiden同款的webssh项目 huashengdun/webssh
1. 注册 fly.io
略.
2. 进入Github Codespaces
浏览器打开 https://github.com/huashengdun/webssh
3. 在 Github Codespaces 的终端窗口安装 flyctl
等待 Codespaces 的整个页面慢慢加载完, 在下方找到 终端
这里实际上是一个Linux环境.参考 fly.io 官方文档 在 Linux 环境下安装 flyctl
在终端窗口中输入
curl -L https://fly.io/install.sh | sh
接下来把这两句语句 执行一下 设置一下环境变量, 不然后面的操作会报错找不到执行文件.
export FLYCTL_INSTALL="/home/codespace/.fly"export PATH="$FLYCTL_INSTALL/bin:$PATH"
执行的效果好像 没有任何反应 , 这是正常的.
4. 部署 webssh
在 终端 登录 fly.io
参考官方文档 , 在终端中执行
fly auth login
Ctrl+点击 显示的链接.
在新窗口中完成身份验证.
显示下面这个就说明身份验证完成了. 回到刚刚的 github codespaces 页面.可以看到说登录成功了.fly launch 设置一些参数
在终端中执行
fly launch
问你app的名字, 随你喜欢写一个.
选择开机的地点, 上下方向键选择, 回车确认.如果报这个错, 那就把前面的app名字改一个.app名字没问题的话, 部署的过程中问你要不要建数据库, 直接按回车, 默认 No修改一下 Dockfile, 用 nano 或是 vi 随你喜欢.
nano Dockerfile
最后一行修改为:
CMD ["python", "run.py", "--xsrf=False --xheaders=False --origin='*' --debug --delay=6"]
fly deploy 部署
终端执行
fly deploy
出现这个结果就是跑完了
Ctrl+点击 链接, 就可以使用了.
5. 使用 huashengdun/webssh
用过Hax/Woiden的朋友应该很熟悉. 界面本身也很直接.
还有一种用法是在url里面带上参数. 参考官方文档.
需要注意密码部分因为涉及到特殊字符, 所以要用base64加密. 你可以找找在线转换的工具, 如: https://codebeautify.org/base64-encode
也可以在本地安装工具, 比如: https://github.com/veler/DevToys
IP部分, 是可以在参数里带上IPv6的, 没有特殊处理, 也不需要前后的[]
比如:
https://ssh1984.fly.dev/?hostname=215.127.189.82&port=22&username=root&password=STVjcVZUNjJ1V2pjMzRwRzlx
https://ssh1984.fly.dev/?hostname=2607:f130:1:f8:ff:ff:6de9:137a&port=22&username=root&password=STVjcVZUNjJ1V2pjMzRwRzlx
注意, Chrome如果显示字体很奇怪的话, 开以开无痕模式禁用掉插件. 也可以干脆换个浏览器, Edge, Firefox 都可以.
具体原因不清楚. 官方issue里有人问, 也提到了开不同的插件, 会影响显示字体. 但是最终没有解决.
fly.io现在不免费了,会强制你加入Hobby Plan,5刀一个月
回复删除感谢你的反馈!
删除支持ipv6的容器平台 还有 koyeb, 请看这一篇的末尾部分
https://zelikk.blogspot.com/2023/10/huashengdun-webssh-codesandbox.html
按教程部署完成,没有出现错误提示,打开webssh页面输入服务器信息后,无法连接,提示“Websocket authentication failed.”请指导哪里出错了,如何修复?谢谢!
回复删除补充一下,我参考了你在Koyeb部署教程的博文,把delay=6的数字放大到了18,提示依旧
删除我刚刚部署的. 可以正常使用.
删除https://webssh-blue-wildflower-6532.fly.dev/
( Dec-1 删除 )
你是怎么部署的,我的也连接不了
删除anicca, 你在哪个平台部署后连接不了?
删除koyeb上部署的,完全照着博主的教程弄的,出现”Websocket authentication failed.“错误,但我连你的能连上
回复删除你好. 你记得修改过这么一行吗?
删除python run.py --xsrf=False --xheaders=False --origin='*' --debug --delay=6
改过了,改成12或18,也是连不上
删除挺奇怪的. 要不你去koyeb后台日志看看, 有没有什么线索.
删除浏览器你换用 firefox 试试.
删除看koyeb后台日志的时候, 特别关注你在页面上点击 Connect 按钮的时候, 显示什么日志.
好的,我试下,谢谢回复解答
删除