大家好,今天给各位分享pycharm远程服务器的一些知识,其中也会对Pycharm远程连接服务器及SSH的设置进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!
一、远程服务器使用|MobaXterm、Pycharm
MobaXterm
官网
使用:
1.
2.
3.
输入前面命令中的用户名就行
初次登陆需要输入密码,这里要注意已经进入了linux环境,所以粘贴之前复制的密码的时候使用
shift+ insert(都松开)+回车;登陆一次后可以保存密码。
或者手动设置一下用户
在使用MobaXterm时如果长时间连接远程服务器可能会出现自动断开的问题,最好进行一下设置。
Pycharm远程连接
注意要使用pycharm专业版。
一共分为三部分,SSH、SFTP以及Python Interpreter。
SSH用于配置基本的用户信息以及服务器等实现连接;SFTP实现本地到远程的文件传输;而Python Interpreter实现程序的最终执行。
tips:
经过测试发现在配置Python Interpreter时Pycharm会默认自动配置一个SFTP(其路径就是在Interpreter中设置的路径)并使用,且这个SFTP配置中是默认Root path为空,将Development path设置为对应的远程目录(后续可以自行修改)。
两种流程:
但上述两种流程种Pyhon Interpreter都会使用它默认的SFTP。所以以下流程以先配置Python Interpreter为例。
SSH与Interpreter
1.
2.
输入连接信息
Test Connection测试能否连接
3.
配置Python以及路径
其中执行对应到具体conda环境中的Python,有关conda环境等内容可参考
仙峰寺扫地僧:Anaconda+pytorch+cuda安装全流程介绍|常见问题解决|conda与pip|pycharm配置
(路径示例:/home/用户名/miniconda3/envs/自定义环境名/bin/python)
配置后Path mings就体现了上面路径。
至此SSH与Interpreter就一并配置完成了。
如果成功可通过Tools-->Deployment-->Browse Remote Host,在右侧查看对应的远程目录是否为绿色,显示为绿色则成功。
查看SFTP
查看Pycharm默认的SFTP。
右侧的图标可以查看一下SFTP的配置(事先并未配置过SFTP,在Deployment中出现了默认生成的SFTP)
Root path是远程根目录,远程项目必须在这个路径下。
Local path是本地路径,Development path是远程项目路径。
对应关系为Local path-> Root path+Development path。
注:通过配置Python Interpreter默认得到的SFTP配置好像是默认Root path为空,将Development path设置为对应的远程目录,不过这一点影响倒是不大。可以对Root path和Development path进行修改。
查看远程目录,右侧显示的根目录对应Root path。
创建SFTP
那么如果我想修改本地对应路径呢?这里通过创建新的SFTP,并在Interpreter中修改所用的SFTP实现。
!!特别要注意的一点是Deployment path不能为空,至少要有一个/,否则在识别路径即Root path+Deployment path时会失败,无法实现同步。!!
在Python Interpreter中更换SFTP。
这里我选了Move,它会自动对应此时SFTP的路径映射;此时再查看路径发现已经更改了。
在Tools-->Deployment-->Browse Remote Host中切换与Python Interpreter中所用SFTP对应的SFTP。
代码执行
经过前面的配置后,就能够实现本地文件和远程服务器文件的互通了,但如果想要在本地进行远程文件的调试与运行,需要遵循该规则:
想要执行的远程文件必须在本地中有所对应的“副本”才能借助远程服务器进行执行。
以实际例子为例,完成连接后,想要执行服务器中的attemp.py
执行后会提示错误
此时需要将服务器中的文件到本地,右键该文件
此时在之前设置的对应好的本地路径上会出现attemp.py,此时执行本地的过来的attemp.py就可以正常执行,并且能够看出是使用的远程服务器。
而如果想要对代码进行修改后再执行,可以借助同步机制完成,在本地修改后通过upload进行上传对远程文件进行修改,再次执行本地的attemp.py时就是借助远程服务器执行修改后的代码了
修改并上传
远程文件
经过这种同步机制就可以实现在本地下对远程服务器中的文件进行调试。
tips
1.如果一些提示信息出现乱码,可以尝试修改编码方式
2.在其他帖子中看到如果一些错误提示Can't obtain python version,原因可能是涉及到获取不到sudo命令权限的问题。
可能是之前配置中勾选了这个选项
可以在这里重新取消勾选一下
3.如果同步出现问题,查看一下编译器中对应的SFTP(前文提到的默认SFTP的问题,但没问题本着能用不改的原则就不要更换了)
正常按流程配置完红框位置应该是一个默认的东西,建议手动修改为自己之前设置的,因为默认的路径上可能会出现问题
参考:
Pycharm中SSH、SFTP连接远程服务器编辑调试全面手把手教程_autoreleasepools的*客-CSDN*客_pycharm ssh远程调试
pycharm使用sftp同步服务器_Solkatt's的*客-CSDN*客_pycharm sftp工具
二、Pycharm通过跳板机远程连接服务器
在local设置config
在local的C:\Users\\.ssh路径中新建一个记事本,重命名为config。编辑该文件的内容如下:
将<>中的内容根据实际情况进行替换。
2、在local设置转发
在local的任一路径下(推荐使用桌面,方便快捷)新建一个文本文件“新建文本文档.txt”,编辑内容为:
修改<>和username为实际的内容。然后连同后缀重命名为“GotoTarget.bat”,注意此操作必须在显示文件扩展名的情况下进行修改:
然后双击GotoTarget.bat运行该文件,如果正确的话会让你输入密码,保持bat文件在后台运行,可以新开一个命令行窗口,输入:
如果能正确连接到target服务器,说明已经成功。
3、在pycharm上配置该ssh
打开pycharm,工具→部署→配置,ssh配置右边的那三个小点,新建一个ssh配置:
注意要把username替换为实际的用户名,主机就是回环,端口号是此前自定义的9182。测试连接,正常的话就能成功连接了。
然后按照一般的远程连接服务器的方式进行配置就可以了,可以参考 pycharm:远程连接服务器调试代码(保姆级详细步骤)————————————————版权*:本文为*主原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处和本*。原文:
三、Pycharm远程连接服务器及SSH的设置
Pycharm的远程服务器连接和SSH配置相当且步骤明确。首先,打开你的本地Pycharm,然后在工具选项卡中选择Deployment配置。
在配置界面,增加SFTP项,为新连接命名,并填写必要的信息,如主机名(host)、端口(port)、用户名(Username)以及本地端口。认证方式选择Key pair,同时提供密钥所在的路径。
在开始连接前,你需要在本地生成并查看密钥,然后将公钥复制到服务器端。确保在服务器端将公钥添加到合适的账户并配置SSH连接,可以通过命令行输入如ssh-o StrictHostKeyChecking=no-p 39072 ,获取必要的登录信息,包括用户名、主机和端口号。
接着,配置ming,设置镜像服务器和本地文件夹,这样Pycharm可以实现文件的上传和同步。记得选择正确的代码自动上传路径,本地到服务器的文件夹映射应指向服务器上的永久工作文件夹,避免使用临时或重启后会丢失数据的文件夹。
最后,在Files的设置中,确保选择正确的编译器路径,包括本地代码的自动上传、服务器工作文件夹的映射以及服务器上编译器的实际位置。这样,Pycharm的远程客户端SSH Terminal就能让你在本地运行代码,同时进行文件的上传、操作,极大地提高了开发效率。