Windows系统部署GoLand结合内网穿透实现SSH远程Linux服务器开发调试

](https://img-home.csdnimg.cn/images/20220524100510.png#pic_center)

🌈个人主页: Aileen_0v0
🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法|MySQL|
💫个人格言:“没有罗马,那就自己创造罗马~”

be tied up with忙于

文章目录

    • 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

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

](https://img-home.csdnimg.cn/images/20220524100510.png#pic_center)

](https://img-home.csdnimg.cn/images/20220524100510.png#pic_center)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/281373.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

es 聚合操作(二)

书接上文,示例数据在上一篇,这里就不展示了 一、Pipeline Aggregation 支持对聚合分析的结果,再次进行聚合分析。 Pipeline 的分析结果会输出到原结果中,根据位置的不同,分为两类: Sibling - 结果和现有…

③【Docker】Docker部署Nginx

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ ③【Docker】Docker部署Nginx docker拉取nginx…

聚焦两会:数字化再加速,VR全景助力制造业转型

近年来,随着信息技术、人工智能、VR虚拟现实等新兴技术的不断涌现,数字化正日益成为推动当今经济发展的新驱动力。在不久前的两会上,数字化经济和创新技术再度成为热门话题: 国务院总理李强作政府工作报告: 要深入推…

【Session】Tomcat Session 集群

设备 nginx:192.168.67.11 tomcat1:192.168.67.12 tomcat2:192.168.67.13安装nginx (192.168.67.11) #关闭防火墙和安全机制 [roottest1 ~]# systemctl stop firewalld [roottest1 ~]# setenforce 0#安装epel源 [ro…

Postman接口做关联测试的方法步骤

应用场景 假设下一个接口登录需要上一个接口的返回值,例如请求需要先登录获取到token,下一个请求要携带对应的token才能进行请求 方法:通过设置全局变量/环境变量 方法一:设置全局变量 1.先请求登录接口,请求成功之后…

HarmonyOS ArkTS 开发基础/语言

目录 一、ArkUI (方舟开发框架) 概述 1.1 基本概念 1.2 两种开发范式 1.3 不同应用类型支持的开发范式 二、ArkTS 声明式开发范式 2.1 开发能力 2.2 整体架构 三、ArkTS 基础类型 3.1 Any 类型 3.2 数字类型 3.3 字符串类型 3.4 布尔类型 3.5 联合类型 3.6 数组类…

【leetcode】67.二进制求和

前言:剑指offer刷题系列 问题: 给你两个二进制字符串 a 和 b ,以二进制字符串的形式返回它们的和。 示例: 输入:a "1010", b "1011" 输出:"10101"思路1: …

Kotlin,简直是 Java 的 Pro Max!(笔记4 协程篇)

目录 Kotlin 协程 为什么引入协程? 协程和线程有什么区别? 协程的使用 依赖 GlobalScope.launch runBlocking 创建多个协程 delay suspend 关键字 coroutineScope job async withContext 函数 Kotlin 协程 为什么引入协程? 1. …

GESP图形化编程二级认证真题 2024年3月

GESP 图形化二级试卷 (满分:100 分 考试时间:120 分钟) 一、单选题(共 10 题,每题 3 分,共 30 分) 1、小杨的父母最近刚刚给他买了一块华为手表,他说手表上跑的是鸿…

蓝桥杯2023省赛:矩阵总面积|模拟、数学(几何)

题目链接: 0矩形总面积 - 蓝桥云课 (lanqiao.cn) 说明: 参考文章:矩形总面积计算器:计算两个矩形的总面积,包括重叠区域_矩形r1的左下角坐标为x1, yl 、宽度为w1、高度为h1, 矩形r2的左下角坐标为x2,y2、宽-CSDN博客…

React 系列 之 React Hooks(一) JSX本质、理解Hooks

借鉴自极客时间《React Hooks 核心原理与实战》 JSX语法的本质 可以认为JSX是一种语法糖,允许将html和js代码进行结合。 JSX文件会通过babel编译成js文件 下面有一段JSX代码,实现了一个Counter组件 import React from "react";export defau…

【OJ比赛日历】快周末了,不来一场比赛吗? #03.23-03.29 #16场

CompHub[1] 实时聚合多平台的数据类(Kaggle、天池…)和OJ类(Leetcode、牛客…)比赛。本账号会推送最新的比赛消息,欢迎关注! 以下信息仅供参考,以比赛官网为准 目录 2024-03-23(周六) #7场比赛2024-03-24…

Unity InputField实现框自适应内容简便方法

要实现InputField框自适应输入内容,除了通过代码进行处理,还可以是使用以下简便的方法。 1、创建InputField组件:右键->UI->Input Field -TextMeshPro。 2、把Input Field Settings中的Line Type设置为Multi Line Newline模式&#x…

8.2K star!史上最强Web应用防火墙

🚩 0x01 介绍 长亭雷池SafeLine是长亭科技耗时近 10 年倾情打造的WAF(Web Application Firewall),一款敢打出口号 “不让黑客越雷池一步” 的 WAF,我愿称之为史上最强的一款Web应用防火墙,足够简单、足够好用、足够强的免费且开源…

php laravel 二维码

public function qr($url,$name2,$inpath){require_once(dirname(__FILE__) . /../../../Library/phpqrcode/phpqrcode.php);$errorCorrectionLevel L;//容错级别$matrixPointSize 10;//生成图片大小$QRcode new \QRcode() ;$QRcode->png($url, $inpath.$name2, $errorCor…

【Spring 篇】走进Java NIO的奇妙世界:解锁高效IO操作的魔法

欢迎来到Java NIO的神奇之旅!在这个充满活力的世界里,我们将一起揭示Java NIO(New I/O)的奥秘,探索其在高效IO操作中的神奇魔法。无需担心,即使你是Java的小白,也能轻松领略这个强大而灵活的IO框…

mac安装rust开发环境,使用brew安装和全局配置

mac下使用brew可以一键安装环境: brew install rustup 安装完成执行: rustup-init 按照提示配置即可: 出现: 想要全局生效: echo export PATH"$HOME/.cargo/bin:$PATH" >> ~/.bash_profile source…

C# xaml框架以及Java的ORM介绍

c#有ASP.Net,.NET以及EF Core这几个重要的运行时和框架.分别用于web,应用以及数据库的ORM. 目前跨平台的有Avalonia UI,.Net MAUI以及Uno Platform,至于WPF等本身不是跨平台的,但可以依靠其他库实现跨平台.这里面Avalonia应该是认为bug比较少的. 当然目前最火的跨平台解决方案…

实现elasticsearch和数据库的数据同步

1. 数据同步 elasticsearch中的酒店数据来自于mysql数据库,因此mysql数据发生改变时,elasticsearch也必须跟着改变,这个就是elasticsearch与mysql之间的数据同步。 1.1. 思路分析 常见的数据同步方案有三种: 同步调用 异步通知…

【Roadmap to Learn LLM】Intro to Large Language Models

by Andrej Karpathy 文章目录 什么是LLM模型训练微调阶段llm的发展方向LLM安全参考资料 什么是LLM Large Language Model(LLM)就是两个文件,一个是模型参数文件,一个是用于运行模型的代码文件 模型训练 一个压缩的过程,将所有训练数据压缩…