使用 SSH Tunnel 访问容器的服务
提示
SSH Tunnel 是一种通过加密 SSH 连接来转发本地或远程计算机上的网络连接的方法。您可以使用 SSH Tunnel 来访问远程服务器上被防火墙保护的服务,而无需直接将端口暴露在公共互联网上。
有两种通过 SSH 访问机器的验证方式:
- 基于密码的验证:这种方式需要用户输入密码进行身份验证。
- 基于公钥的验证:这种方式使用公钥加密技术进行身份验证。它涉及在客户端生成一对密钥(公钥和私钥),并将公钥添加到 OpenBayes。私钥被安全地保存在本地机器上,并用于在不需要密码的情况下进行身份验证。
使用密码
OpenBayes 的 SSH 服务默认提供了密码登录的方式,如果不想配置密钥也可以按照 使用密码访问 SSH 的方式。
配置 ssh key
如果您已经有 SSH 密钥,则可以跳过此步骤。相关的信息请在 准备公钥 查看。
如何使用命令访问端口
1. 启动一个 openbayes 的工作空间
复制「SSH 访问」面板中的命令到自己电脑的终端,确认是否可以成功的访问到容器。如果看到如下的内容说明已经成功访问到容器了。
$ ssh root@ssh.openbayes.com -p31552
Last login: Fri May 5 03:47:16 2023 from 10.110.14.192
OpenBayes
目录说明
- /openbayes/home 工作空间内的数据保存地址,容器停止后,该目录中的内容不会被删除
- /openbayes/input/input0 - /openbayes/input/input4 为数据集绑定地址,此地址为只读权限,不会占用工作空间的存储容量,最多支持同时绑定 5 个
⚠️ 其他目录下的内容在容器关闭后会被自动删除!更多信息请访问 https://openbayes.com/docs/concepts
使用命令行工具
通过命令 bayes gear init 可以初始化容器中的命令行工具,更多信息见 https://openbayes.com/docs/cli/
(base) root@xushanchuan-fb075g25qn2k-main:/openbayes/home#
2. 在容器中启动一个 gradio 的服务
首先在「工作空间」中打开一个终端,安装 gradio 的依赖:
$ pip install gradio --user
然后创建一个 app.py
文件,内容如下:
import gradio as gr
def greet(name):
return "Hello " + name + "!!"
demo = gr.Interface(fn=greet, inputs="text", outputs="text")
demo.launch()
最后运行 python app.py
启动服务,可以看到如下的输出:
$ python app.py
Running on local URL: http://127.0.0.1:7860
To create a public link, set `share=True` in `launch()`.
可以看到服务已经成功启动,访问地址为 http://127.0.0.1:7860
。