前文链接:
【奶妈级教程】Ubuntu18.04服务器远程连接指南
【奶妈级教程】Ubuntu18.04服务器远程连接的anaconda安装与环境配置
前文已经介绍了如何连接Windows本地与Linux服务器进行远程实验。然而,由于受到设备条件、其他软件系统兼容、上手难度与学习成本等方面的制约,服务器经常需要在Windows系统下运行。因此,本文在经作者测试后整理出了一套连接Windows服务器进行远程实验的可行方法。该方法无需在服务器面前操作,也不需要第三方远程软件(如向日葵、teamviewer等)控制服务器,只是将服务器作为运算资源,在不超出服务器算力上限的情况下可以多人同时使用,解决了原来同一时间只能有一个人操作服务器的痛点,也更容易实现服务器与工作空间的物理隔离,提高了服务器的利用效率和使用者的用户体验。
远程登录ssh指令使用的用户名和密码必须是本地用户的,如果使用微软账户会报错permission denied。
点击路径:开始-设置-应用-应用和功能-可选功能,添加功能中搜索“OpenSSH服务器”并安装。安装成功后效果如下:
OpenSSHell Server默认为手动开启,可以在系统的服务中(右击“此电脑”-管理-服务和应用程序-服务)找到OpenSSH Server,将启动类型设为自动开启。
到此为止,设置全部完成。
假设服务器用户名为abc,IP地址为192.168.1.100,则检验测试连接是否成功的语句为:
ssh [email protected]
PowerShell会提示输入密码,输入服务器的用户密码即可。
连接成功,显示如下。
注意:
参考文献:
通过ssh远程连接Win10终端
pycharm windows 服务器_window使用pycharm远程连接服务器
vscode Remote-ssh 远程控制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完成设置。
菜单栏点击Tools-Deployment-Upload to(快捷键Ctrl+Alt+Shift+X),选择设置好的服务器名Server Win10,等待上传完成后,点击菜单栏Tools-Deployment-Browse remote Host可以查看上传好的文件,此后即可运行项目了。
注意:
在本地修改代码以及数据后,可以右击项目文件或文件夹,选择Deployment-Upload to…即可将修改内容更新到服务器上。在服务器上得到的结果文件右击选择Download from here即可将结果同步回本地项目的文件夹中。
参考文献:
Xshell&pycharm远程运行视频教程
除了本机Windows的cmd和powershell,我们还可以选择不在pycharm上设置编译器,也就是不进行远程调试,在上传项目后直接通过命令行来远程运行(前提是本地将项目调试完成)。步骤如下:
设要运行的文件名为main.py,则在pycharm的terminal中输入指令:
python main.py
运行过程中,可以在powershell输入nvidia-smi -l实时监控GPU利用情况。
注意:
参考文献:
基于pycharm Windows 服务器-windows客户端 SSH会话远程开发配置
设置编译器方法参考
通过ssh远程连接Win10终端
pycharm windows 服务器_window使用pycharm远程连接服务器
问题解答:
目前Windows服务器的编译器在设定远程连接时会出现找不到编译器的错误,体现为编译器下拉菜单寻找文件路径时出现Bad message的问题。
若强行添加编译器的路径则会报错:
env为linux系统的环境变量,初步判断是不能够识别Windows系统的路径(而在deployment的时候能够识别,就NM离谱!)。目前该问题尚未解决,论坛上也认为这是个老bug,至今未被修复。欢迎大神答疑解惑,也欢迎解决了的朋友给我留言一起探讨。
论坛网址:网址1
网址2
网址3