1、InternStudio云GPU的三种连接和使用方式:
- JupyterLab:一个交互式的编程和教学环境,同时内置终端,可以很方便地查看文件,执行代码等
- 终端(Terminal, 最轻量级):主要进行命令行操作,或者运行脚本和简单程序
- VSCode:网页中集成的VSCode,也可以在本地VSCode中通过SSH连接远程开发,下面就会讲如何配置远程连接。
2、在VSCode中使用SSH远程开发
2.1 什么是SSH?
SSH全称Secure Shell,中文翻译为安全外壳,它是一种网络安全协议,通过加密和认证机制实现安全的访问和文件传输等业务。SSH 协议通过对网络数据进行加密和验证,在不安全的网络环境中提供了安全的网络服务。
SSH 是(C/S架构)由服务器和客户端组成,为建立安全的 SSH 通道,双方需要先建立 TCP 连接,然后协商使用的版本号和各类算法,并生成相同的会话密钥用于后续的对称加密。在完成用户认证后,双方即可建立会话进行数据交互。
2.2 如何使用SSH远程连接开发机?
2.2.1 使用密码进行SSH远程连接(基础方法)
- 当完成开发机的创建以后,打开自己电脑的powerShell终端,使用Win+R快捷键打开运行框,输入powerShell,打开powerShell终端。
- 回到开发机平台,进入开发机页面找到我们创建的开发机,点击SSH连接,会出现下面的界面
- 复制登录命令到powershell终端,并粘贴运行。
- 终端会弹出需要输入密码,这个时候再复制密码到终端,即可完成连接。
2.2.2 创建本机SSH公钥并在云平台进行绑定,实现免密SSH远程连接(免密方法)
windows平台下创建SSH公钥方法步骤:
- 创建RSA公钥:在powershell控制台输入:
ssh-keygen -t rsa
- windows会在
C:\Users\{your_username}\
路径下生成SSH公钥 - 在powershell输入(就会在控制台打印你的密钥):
Get-Content+C:\Users\{your_username}\id_rsa.pub
- 这时,复制密钥并回到开发机首页,点击SSH Key配置,点击添加SSH公钥,即可。
- 然后下次在powershell中只需要输入【登录命令】,即可完成连接和登录。
2.3 如何使用VSCode连接远程连接开发机?
2.3.1 下载Remote - SSH插件
2.3.2 配置和远程连接
- 点击侧边栏的远程连接图标
- 在SSH中点击“+”按钮
- 添加开发机SSH连接的登录命令(将登录命令复制下来,然后将命令粘贴到弹出的窗口中,最后回车,弹出配置,配置文件选默认)
- 这个时候就显示添加成功了
3、Web服务的端口映射
2.3.1 什么是端口映射?
端口映射是一种网络技术,它可以将外网中的任意端口映射到内网中的相应端口,实现内网与外网之间的通信。通过端口映射,可以在外网访问内网中的服务或应用,实现跨越网络的便捷通信。
2.3.2 为什么要进行端口映射呢?
如果进行模型web_demo的部署实践,那在这个过程中,很有可能遇到web ui加载不全的问题。这是因为开发机Web IDE中运行web_demo时,直接访问开发机内 http/https 服务可能会遇到代理问题,外网链接的ui资源没有被加载完全。为了解决这个问题,我们需要对运行web_demo的连接进行端口映射,将外网链接映射到我们本地主机,我们使用本地连接访问,解决这个代理问题。
2.3.3 Powershell实现端口映射
ssh -p 37367 root@ssh.intern-ai.org.cn -CNg -L {本地机器_PORT}:127.0.0.1:{开发机_PORT} -o StrictHostKeyChecking=no
命令各部分的含义:
-p 37367
:是指定 SSH 连接的端口为 37367,这个前面提到过。root@ssh.intern-ai.org.cn
:表示要以root
用户身份连接到ssh.intern-ai.org.cn
这个主机。-CNg
:-C
通常用于启用压缩。-N
表示不执行远程命令,仅建立连接用于端口转发等。-g
允许远程主机连接到本地转发的端口。
-L {本地机器_PORT}:127.0.0.1:{开发机_PORT}
:这是设置本地端口转发,将本地机器的指定端口(由{本地机器_PORT}
表示)转发到远程主机(这里即ssh.intern-ai.org.cn
)的127.0.0.1
(即本地回环地址)和指定的开发机端口(由{开发机_PORT}
表示)。-o StrictHostKeyChecking=no
:关闭严格的主机密钥检查,这样可以避免第一次连接时因为未知主机密钥而产生的提示或错误。
将该命令运行到powershell,即可实现端口映射,本机即可访问云开发机的接口服务。
2.3.4 VSCode实现端口映射(VSCode提供自动映射服务)
当在vscode中启动远程开发机上的服务后,VSCode本机会自动映射本机端口到远程开发机。在网址输入对应的127.0.0.1:{端口号}
,即可打开对应服务。