PyCharm+ssh跳板机+服务器

PyCharm+ssh跳板机+服务器

文章目录

  • PyCharm+ssh跳板机+服务器
    • 准备工作
      • 登录服务器
      • 查看CUDA
      • 查看conda
      • 创建虚拟环境
    • 前言
    • 配置ssh免密登录
    • 设置ssh隧道
    • 配置pycharm
    • 测试
      • 第一种
      • 第二种
    • 传输数据

准备工作

登录服务器

直接ssh连接就行,在终端(命令行)直接输入下面命令:

  1. 跳板机:ssh 跳板机用户名@跳板机ip -p 端口号 密码:xxx
  2. 内网服务器:ssh 内网服务器用户名@内网服务器ip -p 端口号 -i 私钥文件

登陆后再 cd /data0/qiujielv 然后在下面创建一个文件夹里面放自己的代码。
在这里插入图片描述

查看CUDA

使用nvidia-smi命令查看CUDA版本:
在这里插入图片描述

查看conda

服务器已经提前安装了conda,使用conda --version命令查看conda版本:
在这里插入图片描述
如果没有安装conda,则还需要安装conda。

创建虚拟环境

这部分参考博客。

输入此条指令创建conda虚拟环境,可以自己更改名称和python版本:

conda create -n 自己输入名称 python=版本号

在这里插入图片描述
在这里插入图片描述

输入下行代码激活刚才创建的环境,主要名称要与之前创建时设置的名称相应:

conda activate 名称

例如我们输入conda activate lxl激活刚才创建的虚拟环境:
在这里插入图片描述

需要在虚拟环境中重新安装包如jupyter,d2l,这部分跳到配置pycharm镜像源。

同样需要在虚拟环境中安装PyTorch。激活虚拟环境后进入PyTorch官网下载对应版本的pytorch(GPU版本),服务器是Linux,前面看到CUDA版本为11.4。

首先通过conda list命令看到虚拟环境中没有安装pytorch:
在这里插入图片描述
下载对应版本的pytorch(使用pip或者conda命令都行,这里用了conda命令):
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下载完成:
在这里插入图片描述
通过conda list命令可以看到虚拟环境中安装了pytorch:
在这里插入图片描述

前言

pycharm连接内网服务器必须通过跳板机,这种情况下pycharm的配置则比较复杂,需要使用ssh免密登录和ssh隧道。如果不是内网服务器则pycharm配置比较简单。

下面介绍的都是pycharm通过跳板机连接内网服务器。

配置ssh免密登录

配置跳板机和服务器的免密登录,实现方式有多,这里只列出了一种方式。

  • 在本地配置
    到本地C:\Users\<Administrator>\.ssh文件夹下找到 config文件(.ssh文件夹没有,就新建个; config文件没有,就新建个),在config文件中输入以下内容:
Host *
    ControlPersist yes
    ControlMaster auto
    ControlPath ~/.ssh/%n:%p

在这里插入图片描述
同时,还需要在 config文件中再添加如下内容:

Host <jump>
    HostName <x1.x1.x1.x1>
    User <xxx>
    Port <xxx>

Host <remote>
    HostName <x2.x2.x2.x2>
    User <xxx>
    Port <xxx>
    ProxyCommand ssh -q -W %h:%p <jump>

这里的<jump>是指跳板机,可以改成喜欢的名字,<x1.x1.x1.x1>是跳板机的ip,UserPort都是登录跳板机的所提供的参数;<remote>指服务器,也是命名而已,可以随便改,<x2.x2.x2.x2>是服务器的ip,UserPort都是从跳板机登录服务器所提供的参数。把本地登录跳板机的秘钥都放到.ssh文件夹中
在这里插入图片描述
在这里插入图片描述

这里用的是GUI界面,当然也可以使用vim编辑器修改config文件:

vim ~/.ssh/config

完成配置后在本地登录一次跳板机

登录跳板机:直接打开命令行,输入 ssh 跳板机用户名@跳板机ip -p 端口号 。然后回车
在这里插入图片描述

  • 登录跳板机,并在跳板机配置
vim ~/.ssh/config

在config文件中输入以下内容:

Host *
    ControlPersist yes
    ControlMaster auto
    ControlPath ~/.ssh/%n:%p

完成配置后在跳板机上登录一次内网服务器

登录内网服务器:
ssh 内网服务器用户名@内网服务器ip -p 端口号 -i 私钥文件

注意需要提前将内网服务器私钥文件放到 .ssh文件夹下

在这里插入图片描述
在这里插入图片描述

设置ssh隧道

在本地命令行输入如下命令即可:

ssh -N -f -L 6000:<内网服务器ip>:22 -p <跳板机端口> username@<跳板机ip> -o TCPKeepAlive=yes

上述命令各个参数的含义如下:

  • -N 告诉SSH客户端,这个连接不需要执行任何命令。仅仅做端口转发
  • -f 告诉SSH客户端在后台运行
  • -L 做本地映射端口

在这里插入图片描述

注意
配置好SSH免密登录后开机便不必再进行配置了,但每次开机都需要重新设置SSH隧道(即在命令行输入上述命令)pycharm才能连接内网服务器

此时,登录本地的6000端口就相当于登录内网服务器了。

ssh -p 6000 内网服务器用户名@localhost

在这里插入图片描述

配置pycharm

这里配置pycharm是通过跳板机连接内网服务器,而如果pycharm可以直接连接服务器则不需要这么麻烦。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

下面配置python解释器(重要),首先激活自己的虚拟环境,然后通过conda env list查看所有环境,*表示当前所在环境,记下当前虚拟环境python3.8解释器所在目录,配置pycharm时找到该解释器:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

最终效果:
在这里插入图片描述

点击create,等待创建完成。

创建完成后,就通过pycharm连上内网服务器了,可以查看一下:
在这里插入图片描述
在这里插入图片描述

下面进行一些其他设置,前面提到创建完虚拟环境后需要在虚拟环境中重新安装包如jupyter,d2l。
下面在pycharm中配置镜像源
在这里插入图片描述

测试

在pycharm中修改了代码可以手动上传同步至服务器,也可以设置为自动上传同步至服务器。
在这里插入图片描述

有两种方式运行代码:

第一种

在这里插入图片描述
激活环境后直接右键run运行即可:

在这里插入图片描述

运行结果:
在这里插入图片描述

第二种

在命令行使用指令运行:
同样新建一个连接:
在这里插入图片描述
在这里插入图片描述

传输数据

下载FileZilla,官网:https://filezilla-project.org/。
在这里插入图片描述
在这里插入图片描述
打开安装包,然后一路默认选项安装即可:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

连接:
在这里插入图片描述
在这里插入图片描述
要传输数据只需要将自己电脑中的文件拖过来即可:
在这里插入图片描述

上述连接针对的是不需要跳板机的服务器。而如果是使用了跳板机的内网服务器则与配置pycharm一样,需要配置SSH免密登录,设置SSH隧道等。

前面配置pycharm时已经配置SSH免密登录,设置SSH隧道,这里就可以直接新建站点然后连接:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/889879.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

windows系统更新升级node指定版本【避坑篇!!!亲测有效】(附带各版本node下载链接)一定看到最后!不用删旧版!

Node.js 是一个开源、跨平台的 JavaScript 运行时环境&#xff0c;广泛应用于服务器端和网络应用的开发。随着 Node.js 版本的不断更新&#xff0c;我们可能需要升级到特定版本以满足项目需求或修复安全漏洞。又或者是学习开发另外一个新项目&#xff0c;新项目对Node版本要求更…

数学建模算法与应用 第12章 现代优化算法

目录 12.1 粒子群优化算法 Matlab代码示例&#xff1a;粒子群优化算法求解函数最小值 12.2 遗传算法 Matlab代码示例&#xff1a;遗传算法求解函数最小值 12.3 蚁群算法 Matlab代码示例&#xff1a;蚁群算法求解旅行商问题 12.4 Matlab 遗传算法工具 使用遗传算法工具箱…

基于Python+sqlite3实现(Web)图书管理系统

项目名称&#xff1a;LibraryManagementSystem 一、系统目标 使用了Python作为语言,以django为后台&#xff0c;sqlite3作为数据库&#xff0c;UI基于bootstrap的图书管理系统&#xff0c;模拟图书管理的真实场景&#xff0c;考虑客观需求&#xff0c;界面简洁、操作方便&…

Android Studio实现安卓图书管理系统

获取源码请点击文章末尾QQ名片联系&#xff0c;源码不免费&#xff0c;尊重创作&#xff0c;尊重劳动 171安卓小说 1.开发环境 android stuido3.6 jak1.8 2.功能介绍 安卓端&#xff1a; 1.注册登录 2.图书列表 3.图书借阅 4.借阅列表 3.系统截图

Go编译为可执行文件

在window下打包成其他系统可运行的文件 1.在window下打包成window下可执行文件 在项目main.go同级目录下&#xff0c;逐条执行以下命令 set CGO_ENABLED0 set GOOSwindows set GOARCHamd64 go build -o main-windows.exe main.go 2.在window下打包成linux 在项目main.go同级目…

appium中的uiautomatorviewer显示的界面为横屏解决方法

uiautomatorviewer显示的界面为横屏解决方法 解决方法&#xff1a; 修改模拟器的分辨率&#xff0c;比如540:900就可解决了

鸿蒙NEXT开发-面试题库(最新)

注意&#xff1a;博主有个鸿蒙专栏&#xff0c;里面从上到下有关于鸿蒙next的教学文档&#xff0c;大家感兴趣可以学习下 如果大家觉得博主文章写的好的话&#xff0c;可以点下关注&#xff0c;博主会一直更新鸿蒙next相关知识 专栏地址: https://blog.csdn.net/qq_56760790/…

智能化叉车作业安全高效监控管理系统方案

在物流作业中&#xff0c;智能叉车管理系统的引入&#xff0c;不仅极大地提升了作业效率&#xff0c;还显著增强了作业安全性&#xff0c;为物流行业的现代化转型注入了强劲动力。 1、产品简介 2023A智能叉车管理系统是用于工业车辆安全监控管理的车载终端&#xff0c;具有快…

【数据结构与算法】线性表顺序存储结构

文章目录 一.顺序表的存储结构定义1.1定义1.2 图示1.3结构代码*C语言的内存动态分配 二.顺序表基本运算*参数传递2.1建立2.2初始化(InitList(&L))2.3销毁(DestroyList(&L))2.4判断线性表是否为空表(ListEmpty(L))2.5求线性表的长度(ListLength(L))2.6输出线性表(DispLi…

根据请求错误的状态码判断代理配置问题

SafeLine&#xff0c;中文名 “雷池”&#xff0c;是一款简单好用, 效果突出的 Web 应用防火墙(WAF)&#xff0c;可以保护 Web 服务不受黑客攻击。 雷池通过过滤和监控 Web 应用与互联网之间的 HTTP 流量来保护 Web 服务。可以保护 Web 服务免受 SQL 注入、XSS、 代码注入、命…

如何高效撰写和发表SCI论文

第一章、论文写作准备即为最关键 1、科技论文写作前期的重要性及其分类 2、AI工具如何助力学术论文 3、研究主题确定及提高创新性 兴趣与背景&#xff1a;选择一个您感兴趣且有背景知识的研究领域。 创新性&#xff1a;选题和研究设计阶段如何提高学术创新性的方法。 研究缺…

yolov5-7.0模型DNN加载函数及参数详解(重要)

yolov5-7.0模型DNN加载函数及参数详解&#xff08;重要&#xff09; 引言yolov5&#xff08;v7.0&#xff09;1&#xff0c;yolov5.h(加载对应模型里面的相关参数要更改)2&#xff0c;main主程序&#xff08;1&#xff09;加载网络&#xff08;2&#xff09;检测推理&#xff0…

QD1-P2 HTML 编辑器:HBuilderX

本节学习&#xff1a; HTML课程内容介绍HBuilderX编辑器的使用 本节视频 www.bilibili.com/video/BV1n64y1U7oj?p2 HTML 内容 基础语法 标签整体架构DOCTYPE 常用标签 标题和水平线段落和换行列表div 和 span格式化标签图片超链接标签表格表单字符实体 编辑器 HBuilder…

解决pyinstaller 打包 ddddocr 库方法

前言 ddddocr 库 在打包成 exe 文件后一直有各种各样的问题。无法运行。 总是提示缺少 onnxruntime_providers_shared.dll 等问题。例如下图: 所以这里总结一下打包解决方法。 方法 1、 第一步,先使用命令打包一次 pyinstaller -F demo.py -p D:\Python38\Lib\site-pac…

登录注册静态网页实现(HTML,CSS)

实现效果图 实现效果 使用HTML编写页面结构&#xff0c;CSS美化界面&#xff0c;点击注册&#xff0c;跳转到注册界面&#xff0c;均为静态网页&#xff0c;是课上的一个小作业~ 使用正则表达式对输入进行验证&#xff0c;包括邮箱格式验证&#xff0c;用户名格式验证。 正则…

【Java】类型转换与类型提升

目录 1.类型转换 1.1自动类型转换&#xff08;隐式&#xff09; 1.2强制类型转化&#xff08;显式&#xff09; 2.类型提升 3.字符串类型 1.类型转换 Java作为一个强类型编程语言,当不同类型之间的变量相互赋值的时候,会有教严格的校验. 在Java中&#xff0c;当参与运算数…

【C++】——继承(下)

【C】——继承&#xff08;下&#xff09; 5 继承与友元6 继承与静态成员7 多继承7.1 继承模型7.2 菱形继承的问题7.3 虚继承7.4 多继承中的指针偏移问题 8 组合与继承 5 继承与友元 友元关系不能被继承。即一个函数是父类的友元函数&#xff0c;但不是子类的友元函数。也就是说…

组合模式详解

1、组合模式基本介绍 1) 组合模式&#xff08;Composite Pattern&#xff09;&#xff0c;又叫部分整体模式&#xff0c;它创建了对象组的树形结构&#xff0c;将对象组合成树状结构以 表示“整体-部分”的层次关系。 2) 组合模式依据树形结构来组合对象&#xff0c;用来表示部…

UE5 武器IK瞄准系统

创建空项目 创建基础蓝图类My_GameMode&#xff0c;My_HUD&#xff0c;My_PlayChar&#xff0c;My_PlayController 项目设置地图模式 近裁平面 0.1 My_PlayChar蓝图中添加摄像机&#xff0c;角色骨骼网格体&#xff0c;武器骨骼网格体 编辑角色骨骼&#xff0c;预览控制器使用…

动静态IP地址多方面对比分析

“静态IP地址”和“动态IP地址”是互联网通信基础中的重要概念&#xff0c;两者作为IP地址分配的两种基本机制&#xff0c;各自适应不同的应用场景和需求。 我们可以从定义、地址分配机制、网络管理和运维、服务与应用兼容性等角度来分析有什么不同。 首先是定义。 从概念上来…