InternLM第四期实战-L0-Linux基础
Linux基础
教程链接:https://github.com/InternLM/Tutorial/tree/camp4/docs/L0/linux
完成SSH连接与端口映射并运行hello_world.py
1.使用powershell终端进行SSH远程连接
在终端使用登录命令ssh -p <开发机端口号> root@ssh.intern-ai.org.cn -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null
连接开发机,回车之后提示输入密码,使用登录命令下面的密码就可以成功连接。
可以使用nvidia-smi
查看GPU的信息。
2. 使用vscode进行ssh远程连接
安装remote-ssh插件,点击侧边栏的远程连接图标,在SSH中点击“+”按钮,添加开发机SSH连接的登录命令。
在本地vscode上即可看到开发机的工作目录。
3. 端口映射
在本地终端使用命令ssh -p <开发机端口> root@ssh.intern-ai.org.cn -CNg -L {本地机器_PORT}:127.0.0.1:{开发机_PORT} -o StrictHostKeyChecking=no
个人PC会远程连接到开发机唯一暴露在外的<开发机端口>,(这个在SSH的时候提到过每个人的开发机暴露的端口都不一样),并设置隧道选项。暴露端口是作为中转站进行流量的转发。
以{本地机器_PORT}、{开发机_PORT}为7860为例
当在个人PC上执行这个SSH命令后,SSH客户端会在本地机器的7860端口上监听。
任何发送到本地7860端口的流量,都会被SSH隧道转发到远程服务器的127.0.0.1地址上的7860端口。
这意味着,即使开发机的这个端口没有直接暴露给外部网络,我们也可以通过这个隧道安全地访问远程服务器上的服务。
-L {本地机器_PORT}:127.0.0.1:{开发机_PORT}:
这是设置本地端口转发,将本地机器的指定端口(由 {本地机器_PORT}
表示)转发到远程主机(这里即 ssh.intern-ai.org.cn
)的 127.0.0.1
(即本地回环地址)和指定的开发机端口(由 {开发机_PORT}
表示)。
新建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/202410081252022.png" alt="Logo" width="50%" style="border-radius: 5px;">
</a>
</p>
"""
gr.Markdown(html_code)
demo.launch()
在本地浏览器中打开网址即可看到映射成功。
可选任务:使用 VSCODE 远程连接开发机并创建一个conda环境
远程连接已完成,使用conda create -n demo python=3.10
创建一个新的虚拟环境。
创建完成后使用conda env list
查看所有虚拟环境。
再使用conda activate demo
即可切换到该环境。