闯关关卡
关卡任务
任务描述 | 完成所需时间 | |
---|---|---|
闯关任务 | 完成SSH连接与端口映射并运行hello_world.py | 10min |
可选任务 1 | 将Linux基础命令在开发机上完成一遍 | 10min |
可选任务 2 | 使用 VSCODE 远程连接开发机并创建一个conda环境 | 10min |
1. InternStudio开发机介绍

2. SSH及端口映射
2.1 什么是SSH?
SSH全称Secure Shell,中文翻译为安全外壳,它是一种网络安全协议,通过加密和认证机制实现安全的访问和文件传输等业务。SSH 协议通过对网络数据进行加密和验证,在不安全的网络环境中提供了安全的网络服务。
2.2 如何使用SSH远程连接开发机?
2.2.1 使用密码进行SSH远程连接
当完成开发机的创建以后,我们需要打开自己电脑的powerShell终端,使用Win+R快捷键打开运行框,输入powerShell,打开powerShell终端。
我们回到开发机平台,进入开发机页面找到我们创建的开发机,点击SSH连接。

将复制的命令粘贴到powershell中,然后回车,这里我们需要输入密码,我们将登录命令下面的密码复制下来,然后粘贴到终端中,这里密码粘贴密码是不显示的,这是正常的。
最后回车出现以下内容就代表成功了:

2.2.2 配置SSH密钥进行SSH远程连接(可选)
但是在我们开发学习的时候,每次远程都输入密码比较麻烦,我们可以设置SSH key来跳过输入密码这一步骤,在ssh命令中我们可以使用ssh-keygen命令来生成密钥。
ssh-keygen支持RSA和DSA两种认证密钥。
这里我们使用RSA算法生成密钥,命令为:
ssh-keygen -t rsa
输入命令后一路回车就可以了,这里的密钥默认情况下是生成在~/.ssh/目录下的,~表示的是家目录,如果是windows就是C:\Users\{your_username}\。在powerShell中可以使用Get-Content命令查看生成的密钥,如果是linux操作系统可以使用cat命令。

然后我们回到开发机平台,在首页点击配置SSH Key,接着点击添加SSH公钥,将刚刚生成的密钥复制下来,粘贴到公钥框中,名称会被自动识别到,最后点击立即添加,SSH Key就配置完成了。

完成SSH Key创建以后,重启终端进行远程连接,就会跳过密码输入这一步了。
2.2.3 使用VScode进行SSH远程连接
当然也可以使用SSH远程连接软件,例如:Windterm、Xterminal等。这里我们使用VScode进行远程连接,使用VScode的好处是,本身它就是代码编辑器,进行代码修改等操作时会非常方便。
2.3. 端口映射
2.3.1 什么是端口映射?
端口映射是一种网络技术,它可以将外网中的任意端口映射到内网中的相应端口,实现内网与外网之间的通信。通过端口映射,可以在外网访问内网中的服务或应用,实现跨越网络的便捷通信。
2.3.2 如何进行端口映射?
2.3.2.1 使用 ssh 命令进行端口映射
我们还是来到开发机界面,找到我们的开发机,点击自定义服务,复制第一条命令,

我们创建一个hello_world.py文件,在文件中填入以下内容:

在运行代码之前,需要先使用pip install gradio==4.29.0命令安装以下依赖包,然后在Web IDE的终端中运行了一个hello_world.py

如果不进行端口映射的话,使用本地IP是访问不了的。我可以使用下面的命令,将它输入到powerShell中:

这样就代表成功了。(注意:这个命令不返回任何的内容,这样代表端口映射在运行了,然后在网页中打开连接就可以看到web ui的界面了)

评论