任务
SSH连接
SSH全称Secure Shell,中文翻译为安全外壳,它是一种网络安全协议,通过加密和认证机制实现安全的访问和文件传输等业务。SSH 协议通过对网络数据进行加密和验证,在不安全的网络环境中提供了安全的网络服务。
通过以下ssh命令进行连接:
vscode进行SSH连接
需要在vscode里安装好Remote-SSH插件
连接只需要把ssh登录命令输入即可
连接成功,可以看到开发机的文件目录。
配置SSH密钥进行SSH远程连接
通过上述步骤,我们已经成功连接开发机,但如果断开对开发机的连接,下次进行SSH连接时,需要再输入密码,十分繁琐,因此我们可以通过设置SSH key来跳过输入密码这一步骤。
通过以下命令,可以生成基于RSA算法生成的密钥
ssh-keygen -t rsa
生成密钥后,可以使用cat命令,查看密钥,再复制到InternStudio控制台,设置SSH公钥
端口映射
端口映射是一种网络技术,它可以将外网中的任意端口映射到内网中的相应端口,实现内网与外网之间的通信。通过端口映射,可以在外网访问内网中的服务或应用,实现跨越网络的便捷通信。
实际上是因为开发机由于代理原因无法加载webui中的所有资源,因此需要使用端口映射这个技术让我们实现两件事,第一件是本机去访问webui的资源,第二件是访问开发机对应端口提供的服务。
端口映射命令
端口映射命令可以直接在开发机的自定义服务里查找
运行web demo
在开发机目录下创建hello_world.py文件
import socket
import re
import gradio as gr
# 获取主机名
def get_hostname():
hostname = socket.gethostname()
match = re.search(r'-(\d+)$', hostname)
name = match.group(1)
return name
# 创建 Gradio 界面
with gr.Blocks(gr.themes.Soft()) as demo:
html_code = f"""
<p align="center">
<a href="https://intern-ai.org.cn/home">
<img src="https://intern-ai.org.cn/assets/headerLogo-4ea34f23.svg" alt="Logo" width="20%" style="border-radius: 5px;">
</a>
</p>
<h1 style="text-align: center;">☁️ Welcome {get_hostname()} user, welcome to the ShuSheng LLM Practical Camp Course!</h1>
<h2 style="text-align: center;">😀 Let’s go on a journey through ShuSheng Island together.</h2>
<p align="center">
<a href="https://github.com/InternLM/Tutorial/blob/camp3">
<img src="https://oss.lingkongstudy.com.cn/blog/202406301604074.jpg" alt="Logo" width="20%" style="border-radius: 5px;">
</a>
</p>
"""
gr.Markdown(html_code)
demo.launch()
运行该文件需要先安装好gradio包
pip install gradio==4.29.0
简单介绍一下gradio,gradio是一个用于创建机器学习和人工智能应用的Python库。它允许开发者方便地将机器学习模型、数据科学工具或任何Python脚本转换为可以通过浏览器访问的交互式界面。
准备完毕后,在命令行运行hello_world.py文件
后续再进行端口映射
结果展示
运行成功
感受
整体流程比较简单,文档和视频都十分清晰,学习到了端口映射这个有用的工具。