外网设置Pycharm同步内网linux服务器进行远程开发

Pycharm同步linux服务器进行远程开发 这篇文章中,作者介绍了通过sftp来让pycharm可以同步服务器的文件,还可以使用服务器的python解释器,从而方便代码的同步和调试。

然而很多服务器可能只有通过内网(例如校园网)甚至在局域网内才可以通过ssh访问。我所处的实验室就是这种情况,只有一台服务器有公网ip(假设是222.222.222.222,主机名和用户名都为alpha,密码为alphapw),其他几台服务器只有局域网ip(假设其中的一台ip是192.168.0.100,主机名和用户名都为beta,密码为betapw),更难受的是,有公网ip的那个服务器也只能用校园网ip来访问,非校园网无法访问。

为了在外网也能通过ssh访问服务器,一个可行的办法是先利用学校提供的vpn服务来获得校内ip地址,然后就可以通过ssh访问alpha了。如果想访问其他服务器,例如beta,可以在使用ssh连接到alpha后,以alpha作为中转,再通过一次ssh来连接beta。

然而上面的做法是不能用于pycharm的项目同步部署功能的,反正我没发现如何让pycharm利用中转来设置,所以我想了个其他办法,参考了这篇文章:使用SSH隧道实现多层主机大穿越

最关键的步骤:建立SSH“中转隧道”。

在windows下,到putty官网下载然后安装putty,接着执行以下命令:

plink.exe -N -pw alphapw -L 127.0.0.1:12345:192.168.0.100:22 alpha@222.222.222.222

运行后,plink.exe不会退出,会一直运行才可以使用这条“中转隧道”。这时在你的电脑(127.0.0.1)上,将会建立起一个监听端口12345,连接这个端口就相当于连接了beta服务器(192.168.0.100)的22端口。这时用打开另一个cmd,输入ssh -p 12345 beta@127.0.0.1即可与beta服务器建立ssh连接。在pycharm中,配置sftp服务器时的host填127.0.0.1,port填12345,即可配置本地项目与服务器同步。

注意事项:
1)最好事先用netstat -aon|findstr "12345"来查看是否准备使用的端口是否已经被占用
2)安装时可以选择自动配置环境变量,或者安装后自己将putty的安装目录(plink.exe所在目录)加入Path中。
3)如果你自己用的电脑是Linux系统,plink.exe可以用ssh来代替。(引自原博客,本文未验证该点)。

隐藏CMD窗口并使用自动化脚本

上面介绍的操作可以用bat脚本实现自动化并实现隐藏CMD窗口的效果(类似于linux下的后台进程)。

1、新建一个bat文件,假如命名为ssh-bridge.bat,内容填写如下:

@echo off
echo.|plink.exe -N -pw alphapw -L 127.0.0.1:12345:192.168.0.100:22 alpha@222.222.222.222
exit

2、安装RunHiddenConsole

自行搜索或到这里下载。安装后记得配置好环境变量。

3、再编写一个bat脚本,假如命名为connect.bat,内容编写如下:

@echo off
RunHiddenConsole.exe ssh-bridge.bat
exit

然后将ssh-bridge.batconnect.bat放到同一个文件夹下,并将该文件夹加入到环境变量。

完成以上3步,以后就可以在重启机器后这样操作:
1、连接校园网的VPN。(如果可以直接访问alpha服务器则可跳过这一步)。
2、打开cmd,输入connect.bat然后回车,接着可以关闭这个窗口。

不出意外(例如网络质量的原因导致未连接成功等),此时已经可以用ssh来直接连接beta服务器,并且如果之前已经配置过pychar的项目同步(配置一次即可),则现在已经可以正常使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值