GoLand+CPolar 远程开发实战指南:在家也能连公司服务器写代码?

 更新时间:2026年05月23日 10:57:14   作者:扑克中的黑桃A  
本文详细介绍如何利用GoLand和CPolar实现高效的远程开发方案,从安装配置GoLand和CPolar到设置远程连接,再到创建固定TCP地址,确保开发者在不同地点也能保持本地开发的效率,感兴趣的朋友跟随小编一起看看吧

前言

GoLand 是 JetBrains 专为 Go 语言开发的 IDE,智能补全、代码分析和远程调试功能很强大,适合 Go 开发者日常编码、项目维护。它的优势在于能无缝对接版本控制工具,还能通过 SSH 直接操作远程服务器文件,对经常需要在本地和服务器间切换的开发者来说很高效。

使用时发现,它的远程连接配置其实不复杂,但第一次设置 SSH 时容易因为端口或权限问题卡壳,建议提前确认服务器的 SSH 服务是否开启。另外,同步本地和远程文件时最好手动勾选增量更新,避免重复传输浪费时间。

不过,默认情况下这种远程连接只能在局域网内生效。如果遇到突发情况需要居家办公,或者开发者在不同地点切换,没有公网 IP 就没法连接公司服务器,要么得申请复杂的网络权限,要么就得把代码来回拷贝,很影响效率。

这时候 CPolar 就派上用场了。它能把服务器的 SSH 端口映射成公网地址,不用麻烦运维改配置,开发者在 GoLand 里换个公网地址就能远程连接,就像坐在公司工位上一样写代码、调程序。比如出差时临时需要改 bug,用笔记本连网就能接入公司服务器,省去了携带厚重设备的麻烦。

接下来教大家如何配置GoLand并且远程公司服务器进行编程开发。

1. 安装配置GoLand

GoLand下载地址:https://www.jetbrains.com.cn/go/

进入官网后,点击下载

下载完GoLand安装包后,点击安装,下一步

选择安装路径,点击下一步

安装中,完成后点击下一步

运行GoLand,选择SSH

点击New Project

2. 服务器开启SSH服务

在服务器端获取IPv4 地址

ip addr show

开启SSH服务,执行

sudo apt-get install openssh-server

启动SSH服务

sudo service ssh start

执行下方命令,active表示已开通

sudo systemctl status sshd 

3. GoLand本地服务器远程连接测试

在GoLand中点击New Project,填写Username和Host(Username指服务器端用户名,Host为刚才获取的服务器本地IP地址)

点击Check Connection and Continue进行连接

输入服务器端密码,点击Authenticate

可以看到在本地连接成功,可以看到服务器端文件,点击open an SSH terminal

测试一下修改文件里的内容,改为"Hello World!"服务器端是否同步

在服务器端查看文件内容,可以看到修改后“Hello World!"

我们在本地测试成功,但是我们如果需要长期异地办公,需要结合cpolar内网穿透实现公网远程使用服务器,这里我们需要将SSH使用的本地IP映射为公网TCP地址,才能实现异地开发。

4. 安装cpolar内网穿透远程访问服务器端

4.1 服务器端安装cpolar

本地测试完成后,我们需要在服务器上安装cpolar内网穿透工具,通过cpolar 转发本地端口映射的公网地址,我们可以很容易实现远程访问。下面是安装cpolar步骤:

cpolar官网地址: https://www.cpolar.com

  • 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 向系统添加服务
sudo systemctl enable cpolar
  • 启动cpolar服务
sudo systemctl start cpolar

cpolar安装成功后,在外部浏览器上访问Linux 的9200端口即:【http://服务器的局域网ip:9200】,使用cpolar账号登录,登录后即可看到cpolar web 配置界面,结下来在web 管理界面配置即可

4.2 创建远程连接公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,注意不要与已有的隧道名称重复
  • 协议:tcp
  • 本地地址:22 (本地ssh默认端口)
  • 域名类型:临时随机TCP端口
  • 地区:选择China Top

点击创建

创建成功后,打开左侧在线隧道列表,查看刚刚创建隧道后生成的tcp地址,这个地址就是公网连接地址,接下来使用这个地址

我们点击back回到SSH界面,重新点击New Project。

Username不变,Host填写刚才cpolar生成的公网地址,Port:cpolar生成的公网地址端口号

点击Check Connection and Continue进行连接,点击OK

继续输入服务器端密码

连接服务器端成功

小结

为了方便演示,我们在前述过程中使用了Cpolar生成的TCP地址隧道,其公网地址是随机生成的。

这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

我一般会使用固定TCP域名,原因是我希望每天打开开发工具直接上手工作,无需重新配置TCP地址直接进行开发操作,接下来我教大家如何固定TCP地址:

5. 使用固定TCP地址远程开发

接下来保留一个固定tcp地址,登录cpolar官网,点击左侧的预留,找到保留的tcp地址,为远程服务器连接保留一个固定tcp地址:

  • 地区:选择China VIP
  • 描述:即备注,可自定义

点击保留

地址保留成功后,复制生成的公网地址,打开cpolar web ui管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到我们上面创建的TCP隧道,点击编辑

修改隧道信息,将保留成功的固定tcp地址配置到隧道中

  • 端口类型:修改为固定TCP端口
  • 预留的tcp地址:复制粘贴官网保留成功的地址

点击更新

隧道更新成功后,点击左侧仪表盘的状态——在线隧道列表,可以看到公网地址已经更新成为了固定TCP地址。

我们仍然重复之前的操作,将原来的随机TCP地址替换为固定TCP地址,一直点击back返回到SSH界面。

Username不变,Host填写刚才使用cpolar生成的固定的公网地址,

Port:生成的固定端口号,点击Check Connection and Continue进行连接

输入服务器端密码,点击Authenticate

可以看到使用cpolar生成的固定的公网地址远程连接服务器端成功

我们已经能够使用永久固定地址来远程操作服务器,这样就可以在任意地点远程使用服务器进行办公,大大提高了工作的效率!

GoLand 的高效开发能力搭配 CPolar 的内网穿透功能,为开发者打造了灵活的远程工作方案。它不需要复杂的网络部署,就能让异地访问公司服务器变得简单,无论是居家办公还是移动开发,都能保持和在公司一样的编码效率,是提升团队协作灵活性的实用组合。

本篇文章知识点来源[cpolar官网][https://www.cpolar.com]

  1. cpolar博客:配置二级子域名: https://www.cpolar.com/blog/configure-the-secondary-subdomain-name
  2. cpolar博客:配置自定义域名: https://www.cpolar.com/blog/configure-your-own-domain-name
  3. cpolar博客:配置固定TCP端口地址: https://www.cpolar.com/blog/configure-fixed-tcp-port-address
  4. cpolar博客:配置固定FTP地址: https://www.cpolar.com/blog/configure-fixed-ftp-address

到此这篇关于GoLand+CPolar 远程开发实战指南:在家也能连公司服务器写代码?的文章就介绍到这了,更多相关GoLand CPolar 远程开发内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Golang使用gvm进行版本控制的安装使用教程

    Golang使用gvm进行版本控制的安装使用教程

    这篇文章主要为大家介绍了Golang使用gvm进行版本控制的安装使用教程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • 深入讲解Go语言中函数new与make的使用和区别

    深入讲解Go语言中函数new与make的使用和区别

    大家都知道Go语言中的函数new与函数make一直是新手比较容易混淆的东西,看着相似,但其实不同,不过解释两者之间的不同也非常容易,下面这篇文章主要给大家介绍了关于Go语言中函数new与make区别的相关资料,需要的朋友可以参考下。
    2017-10-10
  • Go每日一库之zap日志库的安装使用指南

    Go每日一库之zap日志库的安装使用指南

    这篇文章主要为大家介绍了Go每日一库之zap安装使用示例学习,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • golang标准库crc32的使用样例

    golang标准库crc32的使用样例

    根据实验我们知道crc32算法比md5算法快4倍左右,所以研究了下golang的crc32使用,这篇文章主要给大家介绍了关于golang标准库crc32使用的相关资料,需要的朋友可以参考下
    2024-03-03
  • gorm RowsAffected()返回0的问题及解决

    gorm RowsAffected()返回0的问题及解决

    在gorm中,`RowsAffected()`方法用于获取更新操作的受影响行数,如果在执行更新操作后立即调用`RowsAffected()`,可能会得到0,因为该方法在内部已经执行了数据库操作并更新了数据,正确的使用方法是在执行更新操作后,通过返回的`db`对象来获取受影响的行数
    2025-12-12
  • Go语言并发之原子操作详解

    Go语言并发之原子操作详解

    代码中的加锁操作因为涉及内核态的上下文切换会比较耗时、代价比较高。针对基本数据类型我们还可以使用原子操作来保证并发安全,本文就来和大家详细聊聊,需要的可以参考下
    2022-12-12
  • Golang工具库viper的使用教程

    Golang工具库viper的使用教程

    viper 是 go 项目中用来读取配置文件的库,支持读取 yaml、toml、json、hcl、env 等格式的配置文件,下面就来和大家聊聊它的具体使用吧
    2023-07-07
  • golang gorm 操作mysql及gorm基本用法

    golang gorm 操作mysql及gorm基本用法

    golang 官方的那个操作mysql的有点麻烦所以就使用了gorm,下面就gorm的使用做下简单介绍,感兴趣的朋友跟随小编一起看看吧
    2018-11-11
  • go实现fping功能

    go实现fping功能

    这篇文章主要介绍了go实现fping功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • Golang等多种语言转数组成字符串举例详解

    Golang等多种语言转数组成字符串举例详解

    今天写代码遇到数组转换成字符串操作,下面这篇文章主要给大家介绍了关于Golang等多种语言转数组成字符串的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-05-05

最新评论