pycharm pro版本带有ssh使用远程解释器的功能,但有时我们需要连接服务器不对外网开放,只能由跳板机跳转连接,本文记述了windows下通过跳板机使用远程解释器的配置方式。
一、配置跳板机
首先使用ssh连接跳板机(jump),找到~/.ssh/config文件输入以下内容(如果没有找到就直接创建一个config文件):
Host *
ControlPersist yes
ControlMaster auto
ControlPath ~/.ssh/master-%r@%h:%p
保存后退出,使用跳板机连接一次远程解释器所在的服务器
ssh -p <server_port> <username>@<server_ip>
退出即可。
二、本地(windows端)配置
打开cmd,输入一下命令:
ssh -N -f -L 6000:<server_ip>:<server_port> -p <jump_port> <jump_username>@<jump_ip> -o TCPKeepAlive=yes
通过以上方式我们就建立起了localhost:6000到<server_ip>:<server_port>的映射,导师再也不用担心我摸鱼啦!
其中-L
是通过“本地转发”方式建立ssh隧道,关于“本地转发”和“远程转发”,本文并不赘述。
-N
使跳板机连接远程服务器后,并不打开shell。
-f
使命令行窗口关闭后,仍在后台运行,需要和-N
配合使用。此时关闭cmd窗口也不会停止ssh隧道了。
三、配置pycharm remote interpreter
网上教程很多,不过很多都比较老,pycharm的界面小改过,可能会不方便配置,推荐官网的配置教程:configure an interpreter using SSH,真的很简单的~
在配置时,把SSH interpreter的host设置为localhost,port为6000就可以了。
四、小结
本文介绍了使用跳板机配置pycharm远程解释器的过程,不过有些不足在于,每次自己电脑开机都要重新打开cmd输入一次上面的命令,而windows的ssh又不支持ControlPath。在这里抛砖引玉,不知各位读者是否有解决方案呢?