文章目录
前文链接:
【奶妈级教程】Ubuntu18.04服务器远程连接指南
【奶妈级教程】Ubuntu18.04服务器远程连接的anaconda安装与环境配置
前言
前文已经介绍了如何连接Windows本地与Linux服务器进行远程实验。然而,由于受到设备条件、其他软件系统兼容、上手难度与学习成本等方面的制约,服务器经常需要在Windows系统下运行。因此,本文在经作者测试后整理出了一套连接Windows服务器进行远程实验的可行方法。该方法无需在服务器面前操作,也不需要第三方远程软件(如向日葵、teamviewer等)控制服务器,只是将服务器作为运算资源,在不超出服务器算力上限的情况下可以多人同时使用,解决了原来同一时间只能有一个人操作服务器的痛点,也更容易实现服务器与工作空间的物理隔离,提高了服务器的利用效率和使用者的用户体验。
运行环境
- 服务器操作系统:Win10专业版
- 客户端操作系统:Win10专业版
- 客户端软件:pycharm2021.3专业版
- 互联环境:服务器与客户端处在同一局域网内,IP地址固定。
一、建立SSL连接
1.将账户信息设为本地账户
远程登录ssh指令使用的用户名和密码必须是本地用户的,如果使用微软账户会报错permission denied。
2.服务器端安装OpenSSH Server
点击路径:开始-设置-应用-应用和功能-可选功能,添加功能中搜索“OpenSSH服务器”并安装。安装成功后效果如下:
OpenSSHell Server默认为手动开启,可以在系统的服务中(右击“此电脑”-管理-服务和应用程序-服务)找到OpenSSH Server,将启动类型设为自动开启。
到此为止,设置全部完成。
3.使用Windows PowerShell建立连接
假设服务器用户名为abc,IP地址为192.168.1.100,则检验测试连接是否成功的语句为:
ssh abc@192.168.1.100
PowerShell会提示输入密码,输入服务器的用户密码即可。
连接成功,显示如下。
注意:
- 1.安装OpenSSH Server的时候需要Windows Update这个服务在开启状态,否则安装失败。
- 2.服务器需要为用户设置密码,用于建立连接时的验证。
- 3.本文只是拿PowerShell举例,terminal可以自行选择cmd、pycharm等,pycharm使用详见第三章 。
参考文献:
通过ssh远程连接Win10终端
pycharm windows 服务器_window使用pycharm远程连接服务器
vscode Remote-ssh 远程控制windows主机
二、pycharm工程部署到服务器
1.在pycharm上与Windows服务器建立连接
在pycharm菜单栏选择tools-deployment-configuration,点击加号选择SFTP建立连接。
这里新建SFTP连接,自定义名称为Server Win10,点击OK。建立好后,点击SSH configuration后面的省略号设置连接参数。如果有已经连接过的服务器可以直接选择现成的参数,否则点击加号新建连接参数。
其中,Host填入服务器IP,User Name填入服务器的用户名,Password填入服务器的登录密码,为了今后连接方便,后面的Save Password建议勾选。可以利用Test Connection来测试一下连接是否成功,成功提示如下:
完成后点击OK即可。Root path为远程服务器默认的根目录,一般点击Autodetect自动识别后,将盘符改成你希望在服务器上保存工程文件的盘符(比如D:),方便后面mappings设置。若选择浏览添加可能出现文件目录变成bad message的bug。
在Mappings选项卡中,Local path填入本地工程文件夹的路径,Deployment path填入希望部署在服务器上的路径,这个路径只需要填上一步中Root path后面的部分即可,点击OK完成设置。
2.本地工程文件上传到Windows服务器
菜单栏点击Tools-Deployment-Upload to(快捷键Ctrl+Alt+Shift+X),选择设置好的服务器名Server Win10,等待上传完成后,点击菜单栏Tools-Deployment-Browse remote Host可以查看上传好的文件,此后即可运行项目了。
注意:
- 如果本地项目中有空文件夹,则不会被上传,强行上传空文件夹会报错:No files or folders found to process。解决方法为,tools菜单选择deployment-options,将create empty directories勾选即可。
3.项目文件更新
在本地修改代码以及数据后,可以右击项目文件或文件夹,选择Deployment-Upload to…即可将修改内容更新到服务器上。在服务器上得到的结果文件右击选择Download from here即可将结果同步回本地项目的文件夹中。
参考文献:
Xshell&pycharm远程运行视频教程
三、使用pycharm的terminal远程运行.py文件
除了本机Windows的cmd和powershell,我们还可以选择不在pycharm上设置编译器,也就是不进行远程调试,在上传项目后直接通过命令行来远程运行(前提是本地将项目调试完成)。步骤如下:
- 在tools菜单中选择start SSH session与远程服务器建立连接。
- 使用conda env list查看编译器列表并使用conda activate指令选择使用的编译器。
- 跳转至main.py所在文件路径。
- 运行.py文件。
设要运行的文件名为main.py,则在pycharm的terminal中输入指令:
python main.py
运行过程中,可以在powershell输入nvidia-smi -l实时监控GPU利用情况。
注意:
- 这种方法比较适合本地有GPU用于调试,借助远程服务器做加速运算的情况;若本地计算机没有GPU和CUDA,则调试麻烦相当多,不建议使用。
参考文献:
基于pycharm Windows 服务器-windows客户端 SSH会话远程开发配置
四、远程编译器设置
设置编译器方法参考
通过ssh远程连接Win10终端
pycharm windows 服务器_window使用pycharm远程连接服务器
问题解答:
目前Windows服务器的编译器在设定远程连接时会出现找不到编译器的错误,体现为编译器下拉菜单寻找文件路径时出现Bad message的问题。
若强行添加编译器的路径则会报错:
env为linux系统的环境变量,初步判断是不能够识别Windows系统的路径(而在deployment的时候能够识别,就NM离谱!)。目前该问题尚未解决,论坛上也认为这是个老bug,至今未被修复。欢迎大神答疑解惑,也欢迎解决了的朋友给我留言一起探讨。
论坛网址:网址1
网址2
网址3