用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里有人问, 也提到了开不同的插件, 会影响显示字体. 但是最终没有解决.


评论

  1. fly.io现在不免费了,会强制你加入Hobby Plan,5刀一个月

    回复删除
    回复
    1. 感谢你的反馈!
      支持ipv6的容器平台 还有 koyeb, 请看这一篇的末尾部分
      https://zelikk.blogspot.com/2023/10/huashengdun-webssh-codesandbox.html

      删除
    2. 25 年了,一样免费啊。Pay as you go 啊。

      删除
  2. 按教程部署完成,没有出现错误提示,打开webssh页面输入服务器信息后,无法连接,提示“Websocket authentication failed.”请指导哪里出错了,如何修复?谢谢!

    回复删除
    回复
    1. 补充一下,我参考了你在Koyeb部署教程的博文,把delay=6的数字放大到了18,提示依旧

      删除
    2. 我刚刚部署的. 可以正常使用.
      https://webssh-blue-wildflower-6532.fly.dev/
      ( Dec-1 删除 )

      删除
    3. 你是怎么部署的,我的也连接不了

      删除
    4. anicca, 你在哪个平台部署后连接不了?

      删除
  3. koyeb上部署的,完全照着博主的教程弄的,出现”Websocket authentication failed.“错误,但我连你的能连上

    回复删除
    回复
    1. 你好. 你记得修改过这么一行吗?
      python run.py --xsrf=False --xheaders=False --origin='*' --debug --delay=6

      删除
    2. 改过了,改成12或18,也是连不上

      删除
    3. 挺奇怪的. 要不你去koyeb后台日志看看, 有没有什么线索.

      删除
    4. 浏览器你换用 firefox 试试.
      看koyeb后台日志的时候, 特别关注你在页面上点击 Connect 按钮的时候, 显示什么日志.

      删除
    5. 好的,我试下,谢谢回复解答

      删除

发表评论