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连接开发机,回车之后提示输入密码,使用登录命令下面的密码就可以成功连接。
image

可以使用nvidia-smi查看GPU的信息。
image

2. 使用vscode进行ssh远程连接

安装remote-ssh插件,点击侧边栏的远程连接图标,在SSH中点击“+”按钮,添加开发机SSH连接的登录命令。
在本地vscode上即可看到开发机的工作目录。

image

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()
在Terminal中运行该py文件。

image

在本地浏览器中打开网址即可看到映射成功。
image

可选任务:使用 VSCODE 远程连接开发机并创建一个conda环境

远程连接已完成,使用conda create -n demo python=3.10创建一个新的虚拟环境。
创建完成后使用conda env list查看所有虚拟环境。
image

再使用conda activate demo即可切换到该环境。

posted @ 2024-11-07 10:01  柠檬戚风  阅读(8)  评论(0)    收藏  举报