如何利用实验室服务器进行远程开发

对于计算机研究生而言,一般在实验室都有配备的GPU服务器用于深度学习之类的开发(作者现在都才只有台1070的旧机子,哭泣有了一块RTX2080了!)。在很多情况下都有远程开发的需求,比如:晚上在寝室想改一下代码继续跑实验、周末在寝室摸鱼不想去实验室、实验室公用一台电脑当面不好操作等。

本文将详细讲解我采用的一些远程开发方法,其中需要用到的工具有:

所谓内网穿透,就是将内网的主机映射到公网中,使得我们可以在任何地方都访问到该主机,一种简单的方法就是使用花生壳等软件实现,虽然操作简单,但是有着流量限制且该公司网页也让人感觉不太靠谱。所以还是自己来做比较好。

本文主要采用了frp开源软件来完成内网穿透的功能。frp软件需要我们在公网服务器和本地服务器各开一个程序,公网服务器使用frps程序,本地服务器使用frpc程序。大致的结构为:

用户访问公网服务ip,frps程序判断监视服务器端口,发现有用户的访问,将数据包发送给指定的端口服务程序。该端口由本地服务器的frpc与之通信,故数据包会发送到本地服务器上,这样就实现了在任意地点访问实验室服务器。

公网服务器(阿里云等):将frps和frps.ini传到服务器上,修改frps.ini文件,这里使用了最简化的配置:

#frps.ini[common]bind_port=7000这里表示服务端监听端口为7000,在服务端启动frps程序:

./frps-c./frps.ini本地服务器(带有GPU的机器):修改内网服务器frpc.ini文件,假设frps所在服务器的公网IP为x.x.x.x;

#frpc.ini[common]server_addr=x.x.x.xserver_port=7000[ssh]type=tcplocal_ip=127.0.0.1local_port=22remote_port=6000common里面需要填入服务端的ip地址与监听端口号,与frps.ini中的对应。ssh配置内填写本地ssh地址与端口,并指明远程访问的端口。

接着在本地服务器运行:

./frpc-cfrpc.ini运行后,我们在其他的电脑即可使用:

ssh-oPort=6000username@x.x.x.x访问到实验室内网的服务器,username为内网服务器用户名。

无论是在哪个服务器运行frp程序,他都是关掉ssh或者关掉终端就会停止,建议做成守护进程,以下是一些推荐的方法,按照简单到复杂排列:

supervisor比较简单,写好脚本每次开机都会自启动。

通过SSH穿透,那么我们就可以在本地很轻松的连接到了服务器,那么一些基本的bash指令就可以使用了,但是如何进行在线代码编辑呢,这里就要结合VSCode来使用了。VSCode在最新的版本中提供了一系列remotedev插件,也就是远程开发插件,这一系列插件提供了wsl、docker、ssh等跨环境通信服务。我们这里主要使用了ssh功能。

首先,在计划连接的主机上(内网服务器)配置基于密钥的身份验证,方法是将本地公共SSH密钥添加到主机上的~/.ssh/authorized_keys。

这一步骤的详细过程为:

ssh-keygen-trsa-b4096在macOS/Linux上,在本地终端中运行以下命令,根据需要替换用户名和主机名。

ssh-copy-idyour-user-name-on-host@host-fqdn-or-ip-goes-here在Windows上,在本地命令提示符中运行以下命令,并根据需要替换REMOTEHOST的值。

$REMOTEHOST="your-user-name-on-host@host-fqdn-or-ip-goes-here"scp"$env:USERPROFILE\.ssh\id_rsa.pub""${REMOTEHOST}:~/tmp.pub"ssh"$REMOTEHOST""mkdir-p~/.ssh&&chmod700~/.ssh&&cat~/tmp.pub>>~/.ssh/authorized_keys&&chmod600~/.ssh/authorized_keys&&rm-f~/tmp.pub"Note:因为不是采用的22端口,因此在scp和ssh指令后面都需要在加上-oPort=6000指定端口号。

打开vscode,在插件处搜索remotessh,安装结果的第一个插件。

安装完成后左侧工具栏会出现一个新加的图标,点击后,选择connection的Configure选择本地的设置文件。选择第一个文件即可。

该文件是一个空白文件,按照以下格式写如配置文件:

HostComputerNameUserusernameHostNamex.x.x.xPort6000hostname输入公网ip,host处的ComputerName可以替换成任意名称(注意不要写括号和中文字符)。

点击左下角,或者TARGETS(SSH)里面的对应主机即可连接到远程服务器,拥有等同于本地开发的体验。

对于使用Python进行数据挖掘与数据分析的人员而言,JupyterNotebook是一个非常棒的工具,它可以在本地开启一个Web服务器供我们在本地网页进行编写程序。那么我们可不可以将该服务映射到公网使得在任意地点进行开发呢,答案当然也是可以的。这一功能也采用frp软件来进行实现。

对于公网服务器而言我们不需要什么额外的配置了,而对于本地的服务器,我们需要对frpc.ini增加配置。

接下来我们需要对jupyter的一些设置进行修改,因为默认的jupyter只能在本地访问。这一部分的配置与网上的大部分教程类似,主要分为三步:

生成配置文件相对比较简单,在终端输入以下命令,生成的配置文件会被保存到~/.jupyter/jupyter_notebook_config.py

jupyternotebook--generate-config接着是生成密码,从jupyternotebook5.0版本开始,提供了一个命令来设置密码:jupyternotebookpassword,生成的密码存储在jupyter_notebook_config.json。

最后是修改配置文件,使用编辑器打开配置文件,主要修改以下几行

c.NotebookApp.ip='*'c.NotebookApp.open_browser=False此时在终端启动jupyternotebook指令,我们就可以在公网进行访问jupyter网页了。

既然将服务器暴露在了公网,那么安全也是非常重要的一个要做,因此如果希望后续继续进行探索和研究,可以从以下几个方面:

THE END
1.虚拟仿真实验室软件,开启科技实验新纪元产品动态4、云端存储:实验数据、实验报告等均可云端存储,方便用户随时查阅和分享。 5、在线求助:软件提供在线客服,用户在使用过程中遇到问题,可随时咨询专业技术人员。 科技改变生活 虚拟仿真实验室软件的出现,不仅为科研人员提供了便捷的实验平台,也为广大科技爱好者带来了全新的学习体验,以下是科技如何改变生活的几个方面: https://4g.taiyangzhuzhao.com/post/22104.html
2.线上教育系统开发:打造高效互动的学习平台线上教育系统开发:打造高效互动的学习平台 一、引言 随着互联网技术的飞速发展,线上教育已成为教育领域的一股重要力量。线上教育系统作为连接教师与学生的桥梁,其重要性不言而喻。本文将详细介绍线上教育系统开发的各个方面,为教育机构提供一份全面的开发指南。https://pbids.com/aboutUs/pbidsNews/1861300381964931072
3.实验在线自主搭建平台共聚焦显微拉曼光谱成像仪近红外全光谱检测与分析仪手持式近红外谱分析仪桌面式拉曼光谱系列显微拉曼光谱仪在线式非接触红外水分测定近红外谷物分析仪高性价比微型光纤光谱仪超微型光纤光谱仪ATP3000高分辨率型光谱仪ATP5000高性能制冷型微型ATP6000科研级光纤光谱仪ATP7000旋转光栅光纤光谱ATP7330超高分辨率光栅光ATP8000近红https://shop.xiyijingji.com/
4.哈工大搭建“硬核”云实验平台在线也能“真刀真枪”做实验12名实验教师,面对全校30个专业、9门实验课、近3000名学生、6.8万人时教学任务……为了让学生通过互联网接触到真实的实验仪器,哈工大电气学院电工电子实验教学中心教师用尽了“洪荒之力”。他们利用手头有限资源,进行优化组合,让实验平台采用实验室真实的教学硬件设备,使远程在线实验尽可能还原真实实验情景。 https://hlj.cri.cn/n/20200722/a0e434d7-d3ff-77ed-1e5c-c48ae08c396b.html
5.K8skubernetes(简称K8s)是一个开源的,用于管理云平台中多个主机上的容器化的应用。它的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。 不过在我们日常学习中,要找到这么多台服务器来搭建Kubernetes集群并不如容易。好在Docker为我们提供一个的实验网站Play with Kuberhttps://www.hangge.com/blog/cache/detail_2420.html
6.互联网+电子技术基础在线实验平台“互联网+电子技术基础“在线实验平台,采用3U标准机箱式结构,客户端学生实验均有实际硬件电路对应,硬件资源动态分配,每个实验平台能并发20个学生同时实验;多个平台可级联。支持:电路分析、模拟电子线路、数字逻辑电路(EDA)、信号系统、高频电子线路5门课程的实验实训; http://www.electest.com.cn/case_view.aspx?TypeId=202&Id=462&FId=t4:202:4
7.智能制造虚拟仿真实验教学平台建设方案根据学生对知识的一般认知过程,在基于虚拟仿真平台实验教学过程中,采用学习、实践、创新三个层次递进的方式开展教学。同时为了落实学以致用的教学理念,平台还依据实际工作场景,为学生搭建了虚拟实习平台,可以让学生更加全面的掌握实际生产流程。 4.1 基础知识学习 https://www.lingtuvr.com/company-news/8288.html
8.搭建“有我”平台,立党员“担当形象”——记济南西城实验中学济南西城实验中学党组织立足基层组织战斗堡垒作用和党员“先锋”引领作用发挥,着力打造了“先锋在线,担当有我”党建品牌。品牌创建过程中,聚焦提升学校党建工作水平,落实立德树人根本任务,以全面“在线”为目标,树起支部“先锋”标杆,通过搭建“有我”平台,立好党员“担当”形象,激发了基层党组织的内在活力和创新意识,调http://edu.shandong.gov.cn/art/2023/10/23/art_308754_10322730.html
9.Lab远程在线实验平台采用互联网+、现代通信、虚拟仪器和嵌入式测试技术,把电源、信号源、示波器、万用表等测试仪表与被测电路集成在一起,将原来必须在实验室里进行的实验项目搬到了网上,且不受时间地点限制。支持学生线下线上实验,即学生既能在实验平台上用传统方法做线下实验,又能通过网络在客户端浏览器做线上实验,智http://www.ieeolab.com/
10.在线精品课程应用效果范文精品课程网站应具有很强交互性,为学生提供一个更全方位的网络体验,因此课程网站的整体设计与构思应从操作简便、界面友好、灵活、实用、安全的要求出发,为教师与学生之间的交流搭建平台,即减少了教师的工作量,又提高了学生们的自主学习效率。完成这一设计目标首先要求课程负责人要组建精品课程建设团队,应根据精品课程建设https://www.gwyoo.com/haowen/253865.html
11.实验空间—国家虚拟仿真实验教学项目共享服务平台“三维扫描与数字建模虚拟仿真实验”依托安徽新华学院艺术学院虚拟仿真实验平台和省级动画实验教学示范中心,旨在为动画专业… 肩关节松动术虚拟仿真实验教学项目 罗强强皖南医学院 通过肩关节松动术仿真教学系统掌握关节松动术的概念和治疗作用;关节松动术的手法等级;关节松动术的适应证和禁忌证;熟悉肩… 大型深远海风电场柔https://www.ilab-x.com/
12.“口袋实验室”——疫情下的实验课程教学课程所使用的的实验开发板 教师利用“钉钉”进行直播授课 二、在线讨论,增强师生互动 该课程为学生搭建了专用的网络讨论平台,学生可以在网络平台中发表帖子进行讨论。网上讨论区有助于学生之间相互交流,互通有无。学生在讨论中可以方便地解决学习上的疑惑,加快学习进度。 http://www.cee.ecnu.edu.cn/55/2c/c4179a283948/page.htm
13.基础教育机构信息公开(四)搭建平台,促进团队发展 1.互动教研促发展 第14周的语数英综合学科分别在线上开展了校际大教研活动,各学科根据本学期研究重点制定了校际互动的研讨主题。语文组开展了主题为“把握目标关注表达 提升能力”的学科教研活动。五14班的孙丽雅老师执教五年级第七单元的23课《手指》,全体老师在现观课。之后,孙老师围绕https://xxgk.mhedu.sh.cn/fwxxgk/detail.jsp?id=42167
14.平台搭建与工程实践》(腾讯TuringLab团队)简介书评当当网图书频道在线销售正版《AI自动化测试:技术原理 平台搭建与工程实践》,作者:腾讯TuringLab团队,出版社:机械工业出版社。最新《AI自动化测试:技术原理 平台搭建与工程实践》简介、书评、试读、价格、图片等相关信息,尽在DangDang.com,网购《AI自动化测试:技术http://product.dangdang.com/28975458.html
15.算法平台在线服务体系的演进与实践腾讯云开发者社区图灵平台是美团配送技术团队搭建的一站式算法平台,图灵平台中的在线服务框架——图灵OS主要聚焦于机器学习和深度学习在线服务模块,为模型和算法策略的线上部署和计算提供统一的平台化解决方案,能够有效提升算法迭代效率。本文将与大家探讨图灵OS在建设和实践中的思考和优化思路,希望能对大家有所帮助或者启发。 https://cloud.tencent.com/developer/article/1830074
16.AIoT在线工程实训平台案例——智能家居aiot在线工程实训平台本文介绍了在AIoT在线工程实训平台上,通过仿真设备搭建智能家居系统的过程。主要内容包括配置智能家居设备,使用Docker-compose设置HA(HomeAssistant)、配置MQTT连接,以及创建烟雾报警和解除警报的自动化场景。学生可以在统一实验平台上进行实践操作,体验智能家居的自动化控制。 https://blog.csdn.net/m0_53608652/article/details/132521121
17.高校实验教学支持自己制作实验及挑战 教师可利用平台提供的基础环境制作自己的实验及挑战,也可让蓝桥云课团队为自己的内容定制在线环境。 技术支持 蓝桥云课课程团队全程指导实验及挑战编写技巧,遇系统问题随时支持。 学校专区 为学校定制在线实验系统,拥有专属的域名、页面、学习专区,机构管理员也可管理自己的学校专区。 详细了https://www.lanqiao.cn/saas/school/
18.在线教育综合运用最新的技术为学员提供高品质、高效益的学习服务,为学员搭建一个不受时空和地域限制的便捷学习平台。 2. 解决在线实验的问题 真实云环境、自动创建云资源、详细的引导教程、直观的效果展示,让学员提升在云上的架构、开发、运维技能,提升技术实力。 http://www.chinasofti.com/zcts/20181011/493.shtml
19.实验楼it在线教育连接高校和企业蓝桥云课是国内领先的IT在线编程及在线实训学习平台,专业导师提供精选的实践项目,创新的技术使得学习者无需配置繁琐的本地环境,随时在线流畅使用。以就业为导向, 提供编程、运维、测试、云计算、大数据、数据库等全面的IT技术动手实践环境, 提供Linuxhttps://www.shiyanlou.com/