当前位置: 首页 > news >正文

如何在Windows部署GoLand并通过SSH远程连接Linux服务器

文章目录

    • 1. 安装配置GoLand
    • 2. 服务器开启SSH服务
    • 3. GoLand本地服务器远程连接测试
    • 4. 安装cpolar内网穿透远程访问服务器端
      • 4.1 服务器端安装cpolar
      • 4.2 创建远程连接公网地址
    • 5. 使用固定TCP地址远程开发

本文主要介绍使用GoLand通过SSH远程连接服务器,并结合cpolar内网穿透工具实现远程办公。

GoLand是由JetBrains推出的一款专为Go语言开发设计的集成开发环境(IDE)。它集成了多种高级功能,包括但不限于智能代码补全、代码分析和高级调试功能。可以帮助编写Go语言更加便捷,支持各种高级IDE功能和各种Go语言框架。

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

6d9efaed23dda7ecfad3ec36d7a02b7

1. 安装配置GoLand

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

进入官网后,点击下载

917320ec4152e85e6f078fb9b8ca0b5

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

f070c15c3a97ec96dec151c749f17a2

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

ee65bf1e0bbb9a6d89e92ffbdedc9b3

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

02ff6275e552fd6b2de9de14deb7d94

运行GoLand,选择SSH

image-20240103113825914

点击New Project

image-20240103113920083

2. 服务器开启SSH服务

在服务器端获取IPv4 地址

ip addr show

903fd99ba9fd349b7eeb47573f67563

开启SSH服务,执行

sudo apt-get install openssh-server

启动SSH服务

sudo service ssh start

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

sudo systemctl status sshd 

image-20240103114948853

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

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

548b06b0838b1eb6b0ac045aa95e53b

点击Check Connection and Continue进行连接

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

image-20240103115630942

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

20c90d1e9c2e1a50fb29d8845c32bde

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

e4fc914e0c8b88d87e8aa58c3fdba7c

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

8764afe897c3d8466814c36c308437f

我们在本地测试成功,但是我们如果需要长期异地办公,需要结合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 管理界面配置即可

image-20230831171159175

4.2 创建远程连接公网地址

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

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

点击创建

9fdc6cda7fe4161b5c0e2adb6554717

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

image-20240103134924793

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

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

image-20240103135009331

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

image-20240103135133221

继续输入服务器端密码

image-20240103135158016

连接服务器端成功

image-20240103135237554

小结

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

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

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

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

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

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

点击保留

017bffba15e502d0120b3faafa9491b

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

15004de8f87ac4961e6aa0745ff72eb

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

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

点击更新

c4a70d5304292c09c4a1f40b4c3531f

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

63bdf7def24bfc2c5a8c0a7e361655e

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

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

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

820286d536e0acf17fc69ef6294313a

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

2659bd9e363e9770598132f976ba2f6

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

e39fa297fe6b7a3783766c79cc41644

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

相关文章:

如何在Windows部署GoLand并通过SSH远程连接Linux服务器

文章目录 1. 安装配置GoLand2. 服务器开启SSH服务3. GoLand本地服务器远程连接测试4. 安装cpolar内网穿透远程访问服务器端4.1 服务器端安装cpolar4.2 创建远程连接公网地址 5. 使用固定TCP地址远程开发 本文主要介绍使用GoLand通过SSH远程连接服务器,并结合cpolar内…...

Netty源码三:NioEventLoop创建与run方法

1.入口 会调用到父类SingleThreadEventLoop的构造方法 2.SingleThreadEventLoop 继续调用父类SingleThreadEventExecutor的构造方法 3.SingleThreadEventExecutor 到这里完整的总结一下: 将线程执行器保存到每一个SingleThreadEventExcutor里面去创建了MpscQu…...

【讲座分享】| 复旦大学张奇教授——《自然语言发表论文如何打怪升级?NLP顶会论文发表》

文章目录 1 基础关1.1 基础书籍1.2 提高书籍1.3 课程链接1.4 编程实战 2 阅读关2.1 分层过滤2.2 集团作战,信息获取2.3 论文如何泛读 3 动机 方向关3.1 快速发论文3.2 好的研究 4 写作关4.1 论文写作流程4.2 从读者角度出发4.3 每一部分怎么写4.3.1 Abstract摘要4.3…...

面试八股文(3)

文章目录 1.HashSet如何检查重复2.comparable和Comparator区别3.ConcurrentHashMap和Hashtable区别4.线程和进程5.并发与并行的区别6.为什么使用多线程7.使用多线程可能带来问题8.线程的生命周期和状态9.什么是上下文切换10.线程死锁11.产生死锁四个条件12.如何避免死锁 1.Hash…...

Kubernetes WebHook 入门 -- 入门案例: apiserver 接入 github

博客原文 文章目录 k8s 集群配置介绍Admission WebhookWebHook 入门实践: github 认证接入web 服务器Dockerfile 镜像制作amd64x86_64构造镜像检验镜像 Makefilewebhook 接入 apiserverwebhook.yamlapiserver 挂载 webconfig在 github 中创建认证 token将 token 添加到 kubecon…...

办公软件巨头CCED、WPS面临新考验,新款办公软件异军突起

办公软件巨头CCED、WPS的成长经历 众所周知,CCED和WPS在中国办公软件领域树立了两大知名品牌的地位。然而,它们的成功并非一朝一夕的成就,而是历经了长时间的发展与积淀。 在上世纪80年代末至90年代初,CCED作为中国大陆早期的一款…...

unity角色触摸转向

1、挂载脚本到角色的父物体A上 2 、以屏幕左边的触摸为移动,右边为转向操作 3、加载角色时,将角色的父物体设置为A,须将角色的位置和角度置0 using System; using System.Collections; using System.Collections.Generic; using UnityEngin…...

世界顶级汽车品牌源代码遭泄露 详解源代码凭据安全解决方案

源代码凭据安全,您别忽视 !!! 一、事件回顾 2024年1月29日,RedHunt 实验室的研究员Lohit爆料:某世界顶级的豪华汽车品牌源代码面临泄露风险!人为错误致GitHub令牌事故引发重大安全担忧。 RedHunt Labs在一次互联网扫描时&#x…...

Mysql-备份与恢复

目录 一、备份表 1.无需备份表结构 2.备份表结构 3.mysqldump方式备份表 二、备份库 一、备份表 1.无需备份表结构 CREATE TABLE a_bak as select * from a;#备份表(不包含表结构)TRUNCATE TABLE a;#清空表 INSERT INTO a SELECT * FROM a_bak;#插…...

基于STM32的UART/USART数据传输的错误检测和纠错机制研究

在STM32的UART/USART数据传输过程中,为了确保数据的可靠性,通常需要使用错误检测和纠错机制。常见的错误检测和纠错技术包括奇偶校验、循环冗余校验(CRC)、硬件流控制和重发机制等。本文将重点介绍这些技术在STM32上的应用&#x…...

「优选算法刷题」:计算布尔二叉树的值

一、题目 给你一棵 完整二叉树 的根,这棵树有以下特征: 叶子节点 要么值为 0 要么值为 1 ,其中 0 表示 False ,1 表示 True 。非叶子节点 要么值为 2 要么值为 3 ,其中 2 表示逻辑或 OR ,3 表示逻辑与 AND…...

A系统数据表同步到B系统数据表

一、 事务操作 (小量数据) 事务操作通常用于确保数据的一致性和完整性。以下是一些常见的应用场景: 银行转账:当从一个账户向另一个账户转账时,需要确保两个操作(从一个账户扣款和向另一个账户存款&#x…...

Qt实现类似ToDesk顶层窗口 不规则按钮

先看效果: 在进行多进程开发时,可能会遇到需要进行全局弹窗的需求。 因为平时会使用ToDesk进行远程桌面控制,在电脑被控时,ToDesk会在右下角进行一个顶层窗口的提示,效果如下: 其实要实现顶层窗口&#xf…...

发布4-运行JRT程序

到了本章节,你需要准备好JDK17的环境和idea环境。并且安装好选择的数据库软件。这章将正式开始JRT的程序开发。 首先获取程序,我会给下载地址 下载后解压会得到下图目录的文件结构,DBFile放IRIS和PG的数据库文件,JRTClient放打包…...

利用VPN设备漏洞入侵!新型勒索软件CACTUS攻击手法分析

近期,亚信安全应急响应中心截获了利用VPN设备已知漏洞传播的新型勒索软件CACTUS,该勒索于2023年3月首次被发现,一直保持着活跃状态。CACTUS勒索软件通过Fortinet VPN的已知漏洞进行入侵(黑客首先获取到VPN账号,再通过V…...

第7章 SpringBoot安全管理

学习目标 了解SpringSecurity安全管理的功能 掌握SpringSecurity的安全配置 掌握SpringSecurity自定义用户认证的实现方法 掌握SpringSecurity自定义用户授权管理的实现方法 掌握如何使用SpringSecurity实现页面控制 实际开发中,一些应用通常要考虑到安全性问题。例如,对于一…...

【QT+QGIS跨平台编译】之二十二:【FontConfig+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

文章目录 一、FontConfig介绍二、文件下载三、文件分析四、pro文件五、编译实践 一、FontConfig介绍 FontConfig 是一个用于配置和定制字体的库,广泛应用于基于X Window系统的操作系统中,尤其是在Linux和Unix-like系统中。它为应用程序提供了一种统一的…...

echarts中绘制3D三维地球

简介 echarts中的三维地球,需要用到世界地图json数据,我把json文件放到我的资源中,有需要的自行下载。 安装插件 // 安装echats npm install echarts --save npm install echarts-gl --save 项目中引用 1,引入安装的echarts…...

go grpc高级用法

文章目录 错误处理常规用法进阶用法原理 多路复用元数据负载均衡压缩数据 错误处理 gRPC 一般不在 message 中定义错误。毕竟每个 gRPC 服务本身就带一个 error 的返回值,这是用来传输错误的专用通道。gRPC 中所有的错误返回都应该是 nil 或者 由 status.Status 产…...

Redis实现登录的优化

目录 1 前言 2 实现步骤 2.1 软件环境准备 2.1.1 Redis的安装 2.1.2 在pom.xml中添加依赖 2.1.3 在application.yml中进行相关配置 2.2 StringRedisTemplate的常用方法 2.2.1 获取operations 2.2.2 主要方法 2.3 令牌主动失效机制 2.3.1 登录时将令牌存入Redis 2.…...

OpenLayers 可视化之热力图

注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

Robots.txt 文件

什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...

NFT模式:数字资产确权与链游经济系统构建

NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...

深度学习习题2

1.如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么? A、即使增加卷积核的数量,只有少部分的核会被用作预测 B、当卷积核数量增加时,神经网络的预测能力会降低 C、当卷…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)

RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...

Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案

在大数据时代,海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构,在处理大规模数据抓取任务时展现出强大的能力。然而,随着业务规模的不断扩大和数据抓取需求的日益复杂,传统…...

Chrome 浏览器前端与客户端双向通信实战

Chrome 前端(即页面 JS / Web UI)与客户端(C 后端)的交互机制,是 Chromium 架构中非常核心的一环。下面我将按常见场景,从通道、流程、技术栈几个角度做一套完整的分析,特别适合你这种在分析和改…...

yaml读取写入常见错误 (‘cannot represent an object‘, 117)

错误一:yaml.representer.RepresenterError: (‘cannot represent an object’, 117) 出现这个问题一直没找到原因,后面把yaml.safe_dump直接替换成yaml.dump,确实能保存,但出现乱码: 放弃yaml.dump,又切…...

如何做好一份技术文档?从规划到实践的完整指南

如何做好一份技术文档?从规划到实践的完整指南 🌟 嗨,我是IRpickstars! 🌌 总有一行代码,能点亮万千星辰。 🔍 在技术的宇宙中,我愿做永不停歇的探索者。 ✨ 用代码丈量世界&…...