基于InternStudio算力平台的云GPUSSH连接与端口映射方案

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远程连接(基础方法)
  1. 当完成开发机的创建以后,打开自己电脑的powerShell终端,使用Win+R快捷键打开运行框,输入powerShell,打开powerShell终端。
  2. 回到开发机平台,进入开发机页面找到我们创建的开发机,点击SSH连接,会出现下面的界面
  3. 复制登录命令到powershell终端,并粘贴运行。
  4. 终端会弹出需要输入密码,这个时候再复制密码到终端,即可完成连接。

image.png

2.2.2 创建本机SSH公钥并在云平台进行绑定,实现免密SSH远程连接(免密方法)

windows平台下创建SSH公钥方法步骤:

  1. 创建RSA公钥:在powershell控制台输入:
ssh-keygen -t rsa
  1. windows会在C:\Users\{your_username}\路径下生成SSH公钥
  2. 在powershell输入(就会在控制台打印你的密钥):
Get-Content+C:\Users\{your_username}\id_rsa.pub
  1. 这时,复制密钥并回到开发机首页,点击SSH Key配置,点击添加SSH公钥,即可。

image.png

  1. 然后下次在powershell中只需要输入【登录命令】,即可完成连接和登录。

image.png

2.3 如何使用VSCode连接远程连接开发机?

2.3.1 下载Remote - SSH插件

image.png

2.3.2 配置和远程连接
  1. 点击侧边栏的远程连接图标
  2. 在SSH中点击“+”按钮
  3. 添加开发机SSH连接的登录命令(将登录命令复制下来,然后将命令粘贴到弹出的窗口中,最后回车,弹出配置,配置文件选默认)

image.png

  1. 这个时候就显示添加成功了

image.png

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本机会自动映射本机端口到远程开发机。image.png在网址输入对应的127.0.0.1:{端口号},即可打开对应服务。image.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值